@Override public Node visitSingleStatement(SqlBaseParser.SingleStatementContext context) { return visit(context.statement()); }
@Override public Node visitTimeZoneString(SqlBaseParser.TimeZoneStringContext context) { return visit(context.string()); }
@Override public Node visitParenthesizedExpression(SqlBaseParser.ParenthesizedExpressionContext context) { return visit(context.expression()); }
@Override public Node visitColumnReference(SqlBaseParser.ColumnReferenceContext context) { return visit(context.identifier()); }
@Override public Node visitStandalonePathSpecification(SqlBaseParser.StandalonePathSpecificationContext context) { return visit(context.pathSpecification()); }
@Override public Node visitDropColumn(SqlBaseParser.DropColumnContext context) { return new DropColumn(getLocation(context), getQualifiedName(context.tableName), (Identifier) visit(context.column)); }
@Override public Node visitCube(SqlBaseParser.CubeContext context) { return new Cube(getLocation(context), visit(context.expression(), Expression.class)); }
@Override public Node visitPositionalArgument(SqlBaseParser.PositionalArgumentContext context) { return new CallArgument(getLocation(context), (Expression) visit(context.expression())); }
@Override public Node visitSetPath(SqlBaseParser.SetPathContext context) { return new SetPath(getLocation(context), (PathSpecification) visit(context.pathSpecification())); }
@Override public Node visitCreateRole(SqlBaseParser.CreateRoleContext context) { return new CreateRole( getLocation(context), (Identifier) visit(context.name), getGrantorSpecificationIfPresent(context.grantor())); }
@Override public Node visitInSubquery(SqlBaseParser.InSubqueryContext context) { Expression result = new InPredicate( getLocation(context), (Expression) visit(context.value), new SubqueryExpression(getLocation(context), (Query) visit(context.query()))); if (context.NOT() != null) { result = new NotExpression(getLocation(context), result); } return result; }
@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 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 visitNullPredicate(SqlBaseParser.NullPredicateContext context) { Expression child = (Expression) visit(context.value); if (context.NOT() == null) { return new IsNullPredicate(getLocation(context), child); } return new IsNotNullPredicate(getLocation(context), child); }