@Override public Node visitRenameTable(SqlBaseParser.RenameTableContext context) { return new RenameTable(getLocation(context), getQualifiedName(context.from), getQualifiedName(context.to)); }
@Override public Node visitLikeClause(SqlBaseParser.LikeClauseContext context) { return new LikeClause( getLocation(context), getQualifiedName(context.qualifiedName()), Optional.ofNullable(context.optionType) .map(AstBuilder::getPropertiesOption)); }
@Override public Node visitDropColumn(SqlBaseParser.DropColumnContext context) { return new DropColumn(getLocation(context), getQualifiedName(context.tableName), (Identifier) visit(context.column)); }
@Override public Node visitResetSession(SqlBaseParser.ResetSessionContext context) { return new ResetSession(getLocation(context), getQualifiedName(context.qualifiedName())); }
@Override public Node visitShowCreateTable(SqlBaseParser.ShowCreateTableContext context) { return new ShowCreate(getLocation(context), ShowCreate.Type.TABLE, getQualifiedName(context.qualifiedName())); }
@Override public Node visitTable(SqlBaseParser.TableContext context) { return new Table(getLocation(context), getQualifiedName(context.qualifiedName())); }
@Override public Node visitShowCreateView(SqlBaseParser.ShowCreateViewContext context) { return new ShowCreate(getLocation(context), ShowCreate.Type.VIEW, getQualifiedName(context.qualifiedName())); }
@Override public Node visitTableName(SqlBaseParser.TableNameContext context) { return new Table(getLocation(context), getQualifiedName(context.qualifiedName())); }
@Override public Node visitShowStats(SqlBaseParser.ShowStatsContext context) { return new ShowStats(Optional.of(getLocation(context)), new Table(getQualifiedName(context.qualifiedName()))); }
@Override public Node visitShowStats(SqlBaseParser.ShowStatsContext context) { return new ShowStats(Optional.of(getLocation(context)), new Table(getQualifiedName(context.qualifiedName()))); }
@Override public Node visitDropTable(SqlBaseParser.DropTableContext context) { return new DropTable(getLocation(context), getQualifiedName(context.qualifiedName()), context.EXISTS() != null); }
@Override public Node visitRenameColumn(SqlBaseParser.RenameColumnContext context) { return new RenameColumn( getLocation(context), getQualifiedName(context.tableName), (Identifier) visit(context.from), (Identifier) visit(context.to)); }
@Override public Node visitInsertInto(SqlBaseParser.InsertIntoContext context) { Optional<List<Identifier>> columnAliases = Optional.empty(); if (context.columnAliases() != null) { columnAliases = Optional.of(visit(context.columnAliases().identifier(), Identifier.class)); } return new Insert( getQualifiedName(context.qualifiedName()), columnAliases, (Query) visit(context.query())); }
@Override public Node visitRenameSchema(SqlBaseParser.RenameSchemaContext context) { return new RenameSchema( getLocation(context), getQualifiedName(context.qualifiedName()), (Identifier) visit(context.identifier())); }
@Override public Node visitCall(SqlBaseParser.CallContext context) { return new Call( getLocation(context), getQualifiedName(context.qualifiedName()), visit(context.callArgument(), CallArgument.class)); }
@Override public Node visitSetSession(SqlBaseParser.SetSessionContext context) { return new SetSession(getLocation(context), getQualifiedName(context.qualifiedName()), (Expression) visit(context.expression())); }
@Override public Node visitDropSchema(SqlBaseParser.DropSchemaContext context) { return new DropSchema( getLocation(context), getQualifiedName(context.qualifiedName()), context.EXISTS() != null, context.CASCADE() != null); }
@Override public Node visitAnalyze(SqlBaseParser.AnalyzeContext context) { List<Property> properties = ImmutableList.of(); if (context.properties() != null) { properties = visit(context.properties().property(), Property.class); } return new Analyze( getLocation(context), getQualifiedName(context.qualifiedName()), properties); }
@Override public Node visitSelectAll(SqlBaseParser.SelectAllContext context) { if (context.qualifiedName() != null) { return new AllColumns(getLocation(context), getQualifiedName(context.qualifiedName())); } return new AllColumns(getLocation(context)); }
@Override public Node visitDelete(SqlBaseParser.DeleteContext context) { return new Delete( getLocation(context), new Table(getLocation(context), getQualifiedName(context.qualifiedName())), visitIfPresent(context.booleanExpression(), Expression.class)); }