@Override protected String visitStringLiteral(StringLiteral node, Void context) { return formatStringLiteral(node.getValue()); }
@Override protected String visitCharLiteral(CharLiteral node, Void context) { return "CHAR " + formatStringLiteral(node.getValue()); }
@Override protected Void visitShowCatalogs(ShowCatalogs node, Integer context) { builder.append("SHOW CATALOGS"); node.getLikePattern().ifPresent((value) -> builder.append(" LIKE ") .append(formatStringLiteral(value))); return null; }
@Override protected String visitStringLiteral(StringLiteral node, Void context) { return formatStringLiteral(node.getValue()); }
@Override protected String visitCharLiteral(CharLiteral node, Void context) { return "CHAR " + formatStringLiteral(node.getValue()); }
@Override protected Void visitShowCatalogs(ShowCatalogs node, Integer context) { builder.append("SHOW CATALOGS"); node.getLikePattern().ifPresent((value) -> builder.append(" LIKE ") .append(formatStringLiteral(value))); return null; }
@Override protected Void visitShowTables(ShowTables node, Integer context) { builder.append("SHOW TABLES"); node.getSchema().ifPresent(value -> builder.append(" FROM ") .append(formatName(value))); node.getLikePattern().ifPresent(value -> builder.append(" LIKE ") .append(formatStringLiteral(value))); node.getEscape().ifPresent(value -> builder.append(" ESCAPE ") .append(formatStringLiteral(value))); return null; }
@Override protected Void visitShowTables(ShowTables node, Integer context) { builder.append("SHOW TABLES"); node.getSchema().ifPresent(value -> builder.append(" FROM ") .append(formatName(value))); node.getLikePattern().ifPresent(value -> builder.append(" LIKE ") .append(formatStringLiteral(value))); node.getEscape().ifPresent(value -> builder.append(" ESCAPE ") .append(formatStringLiteral(value))); return null; }
@Override protected Void visitShowSchemas(ShowSchemas node, Integer context) { builder.append("SHOW SCHEMAS"); if (node.getCatalog().isPresent()) { builder.append(" FROM ") .append(node.getCatalog().get()); } node.getLikePattern().ifPresent((value) -> builder.append(" LIKE ") .append(formatStringLiteral(value))); node.getEscape().ifPresent((value) -> builder.append(" ESCAPE ") .append(formatStringLiteral(value))); return null; }
@Override protected Void visitShowSchemas(ShowSchemas node, Integer context) { builder.append("SHOW SCHEMAS"); if (node.getCatalog().isPresent()) { builder.append(" FROM ") .append(node.getCatalog().get()); } node.getLikePattern().ifPresent((value) -> builder.append(" LIKE ") .append(formatStringLiteral(value))); node.getEscape().ifPresent((value) -> builder.append(" ESCAPE ") .append(formatStringLiteral(value))); return null; }
@Override protected String visitGenericLiteral(GenericLiteral node, Void context) { return node.getType() + " " + formatStringLiteral(node.getValue()); }
@Override protected String visitGenericLiteral(GenericLiteral node, Void context) { return node.getType() + " " + formatStringLiteral(node.getValue()); }
@Override protected Void visitCreateTableAsSelect(CreateTableAsSelect node, Integer indent) { builder.append("CREATE TABLE "); if (node.isNotExists()) { builder.append("IF NOT EXISTS "); } builder.append(formatName(node.getName())); if (node.getColumnAliases().isPresent()) { String columnList = node.getColumnAliases().get().stream().map(element -> formatExpression(element, parameters)).collect(joining(", ")); builder.append(format("( %s )", columnList)); } if (node.getComment().isPresent()) { builder.append("\nCOMMENT " + formatStringLiteral(node.getComment().get())); } builder.append(formatPropertiesMultiLine(node.getProperties())); builder.append(" AS "); process(node.getQuery(), indent); if (!node.isWithData()) { builder.append(" WITH NO DATA"); } return null; }
private String formatColumnDefinition(ColumnDefinition column) { return formatExpression(column.getName(), parameters) + " " + column.getType() + column.getComment() .map(comment -> " COMMENT " + formatStringLiteral(comment)) .orElse("") + formatPropertiesSingleLine(column.getProperties()); }
@Override protected Void visitCreateTableAsSelect(CreateTableAsSelect node, Integer indent) { builder.append("CREATE TABLE "); if (node.isNotExists()) { builder.append("IF NOT EXISTS "); } builder.append(formatName(node.getName())); if (node.getColumnAliases().isPresent()) { String columnList = node.getColumnAliases().get().stream().map(element -> formatExpression(element, parameters)).collect(joining(", ")); builder.append(format("( %s )", columnList)); } if (node.getComment().isPresent()) { builder.append("\nCOMMENT " + formatStringLiteral(node.getComment().get())); } builder.append(formatPropertiesMultiLine(node.getProperties())); builder.append(" AS "); process(node.getQuery(), indent); if (!node.isWithData()) { builder.append(" WITH NO DATA"); } return null; }
builder.append("\nCOMMENT " + formatStringLiteral(node.getComment().get()));
private String formatColumnDefinition(ColumnDefinition column) { return formatExpression(column.getName(), parameters) + " " + column.getType() + column.getComment() .map(comment -> " COMMENT " + formatStringLiteral(comment)) .orElse("") + formatPropertiesSingleLine(column.getProperties()); }
builder.append("\nCOMMENT " + formatStringLiteral(node.getComment().get()));