@Override public void visitMultiExpression(MultiExpression node) { buf.append('('); for (Iterator<Predicate> it = node.predicates.iterator(); it.hasNext();) { it.next().accept(this); if (it.hasNext()) { node.operator.accept(this); } } buf.append(')'); }
@Override public void visitMultiExpression(MultiExpression node) { for (Iterator<Predicate> it = node.predicates.iterator(); it.hasNext();) { it.next().accept(this); if (it.hasNext()) { node.operator.accept(this); } } }
@Override public void visitMultiExpression(MultiExpression node) { if (node.predicates.isEmpty()) { // if this happens we won't have a valid SQL expression // but the caller should check for empty clauses and prune them return; } clause.append('('); for (Iterator<Predicate> it = node.predicates.iterator(); it.hasNext();) { it.next().accept(this); if (it.hasNext()) { node.operator.accept(this); } } clause.append(')'); }
protected void visitExpressionBetween(Column column, Operator op, LiteralList list) { visitColumn(column); op.accept(this); list.get(0).accept(this); clause.append(" AND "); list.get(1).accept(this); }
protected void visitSimpleExpression(Column column, Operator op, Operand rvalue, String cast, int arrayElementIndex) { visitReference(column, cast, arrayElementIndex); op.accept(this); boolean oldVisitingId = visitingId; visitingId = column.getType().isId(); rvalue.accept(this); visitingId = oldVisitingId; }
protected void visitExpression(Column column, Operator op, Operand rvalue) { visitColumn(column); if (op == Operator.EQ || op == Operator.NOTEQ) { if (column.getType().spec == ColumnSpec.BOOLEAN) { rvalue = getBooleanLiteral(rvalue); } if (directory.getDialect().hasNullEmptyString() && rvalue instanceof StringLiteral && ((StringLiteral) rvalue).value.isEmpty()) { // see NXP-6172, empty values are Null in Oracle op = op == Operator.EQ ? Operator.ISNULL : Operator.ISNOTNULL; rvalue = null; } } op.accept(this); if (rvalue != null) { rvalue.accept(this); } }
op.accept(this); buf.append(' '); l.get(0).accept(this);