@Override public void visit(NamedExpressionList namedExpressionList) { for (Expression expression : namedExpressionList.getExpressions()) { expression.accept(this); } }
@Override public void visit(ExpressionList expressionList) { buffer.append(" VALUES ("); for (Iterator<Expression> iter = expressionList.getExpressions().iterator(); iter.hasNext();) { Expression expression = iter.next(); expression.accept(expressionVisitor); if (iter.hasNext()) { buffer.append(", "); } } buffer.append(")"); }
@Override public void visit(NotExpression notExpr) { buffer.append(NOT); notExpr.getExpression().accept(this); }
@Override public void visit(ExpressionList expressionList) { for (Expression expression : expressionList.getExpressions()) { expression.accept(this); } }
@Override public void visit(ExpressionList expressionList) { for (Expression expr : expressionList.getExpressions()) { expr.accept(this); } }
@Override public void visit(ExtractExpression eexpr) { buffer.append("EXTRACT(").append(eexpr.getName()); buffer.append(" FROM "); eexpr.getExpression().accept(this); buffer.append(')'); }
@Override public void visit(Parenthesis parenthesis) { if (parenthesis.isNot()) { buffer.append(NOT); } buffer.append("("); parenthesis.getExpression().accept(this); buffer.append(")"); }
@Override public void visit(ExistsExpression existsExpression) { if (existsExpression.isNot()) { buffer.append("NOT EXISTS "); } else { buffer.append("EXISTS "); } existsExpression.getRightExpression().accept(this); }
private void appendDuplicate(Upsert upsert) { buffer.append(" ON DUPLICATE KEY UPDATE "); for (int i = 0; i < upsert.getDuplicateUpdateColumns().size(); i++) { Column column = upsert.getDuplicateUpdateColumns().get(i); buffer.append(column.getFullyQualifiedName()).append(" = "); Expression expression = upsert.getDuplicateUpdateExpressionList().get(i); expression.accept(expressionVisitor); if (i < upsert.getDuplicateUpdateColumns().size() - 1) { buffer.append(", "); } } }
@Override public void visit(KeepExpression expr) { for (OrderByElement element : expr.getOrderByElements()) { element.getExpression().accept(this); } }
@Override public void visit(RowConstructor rowConstructor) { for (Expression expr : rowConstructor.getExprList().getExpressions()) { expr.accept(this); } }
@Override public void visit(SelectExpressionItem selectExpressionItem) { selectExpressionItem.getExpression().accept(expressionVisitor); if (selectExpressionItem.getAlias() != null) { buffer.append(selectExpressionItem.getAlias().toString()); } }
@Override public void visit(InExpression expr) { if (expr.getLeftExpression() != null) { expr.getLeftExpression().accept(this); } else if (expr.getLeftItemsList() != null) { expr.getLeftItemsList().accept(this); } expr.getRightItemsList().accept(this); }
@Override public void visit(Replace replace) { visit(replace.getTable()); if (replace.getExpressions() != null) { for (Expression expression : replace.getExpressions()) { expression.accept(this); } } if (replace.getItemsList() != null) { replace.getItemsList().accept(this); } }