@Override public Node visitShowSchemas(SqlBaseParser.ShowSchemasContext context) { return new ShowSchemas( getLocation(context), visitIfPresent(context.identifier(), Identifier.class), getTextIfPresent(context.pattern) .map(AstBuilder::unquote), getTextIfPresent(context.escape) .map(AstBuilder::unquote)); }
@Override public Node visitShowSchemas(SqlBaseParser.ShowSchemasContext context) { return new ShowSchemas( getLocation(context), visitIfPresent(context.identifier(), Identifier.class), getTextIfPresent(context.pattern) .map(AstBuilder::unquote), getTextIfPresent(context.escape) .map(AstBuilder::unquote)); }
@Override public Node visitUse(SqlBaseParser.UseContext context) { return new Use( getLocation(context), visitIfPresent(context.catalog, Identifier.class), (Identifier) visit(context.schema)); }
@Override public Node visitUse(SqlBaseParser.UseContext context) { return new Use( getLocation(context), visitIfPresent(context.catalog, Identifier.class), (Identifier) visit(context.schema)); }
@Override public Node visitSearchedCase(SqlBaseParser.SearchedCaseContext context) { return new SearchedCaseExpression( getLocation(context), visit(context.whenClause(), WhenClause.class), visitIfPresent(context.elseExpression, Expression.class)); }
@Override public Node visitSearchedCase(SqlBaseParser.SearchedCaseContext context) { return new SearchedCaseExpression( getLocation(context), visit(context.whenClause(), WhenClause.class), visitIfPresent(context.elseExpression, Expression.class)); }
@Override public Node visitWindowFrame(SqlBaseParser.WindowFrameContext context) { return new WindowFrame( getLocation(context), getFrameType(context.frameType), (FrameBound) visit(context.start), visitIfPresent(context.end, FrameBound.class)); }
@Override public Node visitWindowFrame(SqlBaseParser.WindowFrameContext context) { return new WindowFrame( getLocation(context), getFrameType(context.frameType), (FrameBound) visit(context.start), visitIfPresent(context.end, FrameBound.class)); }
@Override public Node visitSelectSingle(SqlBaseParser.SelectSingleContext context) { return new SingleColumn( getLocation(context), (Expression) visit(context.expression()), visitIfPresent(context.identifier(), Identifier.class)); }
@Override public Node visitSelectSingle(SqlBaseParser.SelectSingleContext context) { return new SingleColumn( getLocation(context), (Expression) visit(context.expression()), visitIfPresent(context.identifier(), Identifier.class)); }
@Override public Node visitOver(SqlBaseParser.OverContext context) { Optional<OrderBy> orderBy = Optional.empty(); if (context.ORDER() != null) { orderBy = Optional.of(new OrderBy(getLocation(context.ORDER()), visit(context.sortItem(), SortItem.class))); } return new Window( getLocation(context), visit(context.partition, Expression.class), orderBy, visitIfPresent(context.windowFrame(), WindowFrame.class)); }
@Override public Node visitSimpleCase(SqlBaseParser.SimpleCaseContext context) { return new SimpleCaseExpression( getLocation(context), (Expression) visit(context.valueExpression()), visit(context.whenClause(), WhenClause.class), visitIfPresent(context.elseExpression, Expression.class)); }
@Override public Node visitOver(SqlBaseParser.OverContext context) { Optional<OrderBy> orderBy = Optional.empty(); if (context.ORDER() != null) { orderBy = Optional.of(new OrderBy(getLocation(context.ORDER()), visit(context.sortItem(), SortItem.class))); } return new Window( getLocation(context), visit(context.partition, Expression.class), orderBy, visitIfPresent(context.windowFrame(), WindowFrame.class)); }
@Override public Node visitSimpleCase(SqlBaseParser.SimpleCaseContext context) { return new SimpleCaseExpression( getLocation(context), (Expression) visit(context.valueExpression()), visit(context.whenClause(), WhenClause.class), visitIfPresent(context.elseExpression, Expression.class)); }
@Override public Node visitLike(SqlBaseParser.LikeContext context) { Expression result = new LikePredicate( getLocation(context), (Expression) visit(context.value), (Expression) visit(context.pattern), visitIfPresent(context.escape, Expression.class)); if (context.NOT() != null) { result = new NotExpression(getLocation(context), result); } return result; }
@Override public Node visitLike(SqlBaseParser.LikeContext context) { Expression result = new LikePredicate( getLocation(context), (Expression) visit(context.value), (Expression) visit(context.pattern), visitIfPresent(context.escape, Expression.class)); if (context.NOT() != null) { result = new NotExpression(getLocation(context), result); } return result; }
@Override public Node visitDelete(SqlBaseParser.DeleteContext context) { return new Delete( getLocation(context), new Table(getLocation(context), getQualifiedName(context.qualifiedName())), visitIfPresent(context.booleanExpression(), Expression.class)); }
@Override public Node visitDelete(SqlBaseParser.DeleteContext context) { return new Delete( getLocation(context), new Table(getLocation(context), getQualifiedName(context.qualifiedName())), visitIfPresent(context.booleanExpression(), Expression.class)); }
@Override public Node visitQuery(SqlBaseParser.QueryContext context) { Query body = (Query) visit(context.queryNoWith()); return new Query( getLocation(context), visitIfPresent(context.with(), With.class), body.getQueryBody(), body.getOrderBy(), body.getLimit()); }
@Override public Node visitQuery(SqlBaseParser.QueryContext context) { Query body = (Query) visit(context.queryNoWith()); return new Query( getLocation(context), visitIfPresent(context.with(), With.class), body.getQueryBody(), body.getOrderBy(), body.getLimit()); }