@Override protected Void visitExecute(Execute node, Integer indent) { append(indent, "EXECUTE "); builder.append(node.getName()); List<Expression> parameters = node.getParameters(); if (!parameters.isEmpty()) { builder.append(" USING "); Joiner.on(", ").appendTo(builder, parameters); } return null; }
@Override protected Void visitExecute(Execute node, Integer indent) { append(indent, "EXECUTE "); builder.append(node.getName()); List<Expression> parameters = node.getParameters(); if (!parameters.isEmpty()) { builder.append(" USING "); Joiner.on(", ").appendTo(builder, parameters); } return null; }
@Override protected Void visitPrepare(Prepare node, Integer indent) { append(indent, "PREPARE "); builder.append(node.getName()); builder.append(" FROM"); builder.append("\n"); process(node.getStatement(), indent + 1); return null; }
@Override protected Void visitSelect(Select node, Integer indent) { append(indent, "SELECT"); if (node.isDistinct()) { builder.append(" DISTINCT"); } if (node.getSelectItems().size() > 1) { boolean first = true; for (SelectItem item : node.getSelectItems()) { builder.append("\n") .append(indentString(indent)) .append(first ? " " : ", "); process(item, indent); first = false; } } else { builder.append(' '); process(getOnlyElement(node.getSelectItems()), indent); } builder.append('\n'); return null; }
@Override protected Void visitSelect(Select node, Integer indent) { append(indent, "SELECT"); if (node.isDistinct()) { builder.append(" DISTINCT"); } if (node.getSelectItems().size() > 1) { boolean first = true; for (SelectItem item : node.getSelectItems()) { builder.append("\n") .append(indentString(indent)) .append(first ? " " : ", "); process(item, indent); first = false; } } else { builder.append(' '); process(getOnlyElement(node.getSelectItems()), indent); } builder.append('\n'); return null; }
@Override protected Void visitTableSubquery(TableSubquery node, Integer indent) { builder.append('(') .append('\n'); process(node.getQuery(), indent + 1); append(indent, ") "); return null; }
@Override protected Void visitOrderBy(OrderBy node, Integer indent) { append(indent, formatOrderBy(node, parameters)) .append('\n'); return null; }
@Override protected Void visitDescribeInput(DescribeInput node, Integer indent) { append(indent, "DESCRIBE INPUT "); builder.append(node.getName()); return null; }
@Override protected Void visitTableSubquery(TableSubquery node, Integer indent) { builder.append('(') .append('\n'); process(node.getQuery(), indent + 1); append(indent, ") "); return null; }
@Override protected Void visitOrderBy(OrderBy node, Integer indent) { append(indent, formatOrderBy(node, parameters)) .append('\n'); return null; }
@Override protected Void visitDeallocate(Deallocate node, Integer indent) { append(indent, "DEALLOCATE PREPARE "); builder.append(node.getName()); return null; }
@Override protected Void visitPrepare(Prepare node, Integer indent) { append(indent, "PREPARE "); builder.append(node.getName()); builder.append(" FROM"); builder.append("\n"); process(node.getStatement(), indent + 1); return null; }
@Override protected Void visitDescribeOutput(DescribeOutput node, Integer indent) { append(indent, "DESCRIBE OUTPUT "); builder.append(node.getName()); return null; }
@Override protected Void visitDeallocate(Deallocate node, Integer indent) { append(indent, "DEALLOCATE PREPARE "); builder.append(node.getName()); return null; }
@Override protected Void visitDescribeInput(DescribeInput node, Integer indent) { append(indent, "DESCRIBE INPUT "); builder.append(node.getName()); return null; }
@Override protected Void visitDescribeOutput(DescribeOutput node, Integer indent) { append(indent, "DESCRIBE OUTPUT "); builder.append(node.getName()); return null; }