diff --git a/core/trino-main/src/main/java/io/trino/sql/analyzer/ExpressionAnalyzer.java b/core/trino-main/src/main/java/io/trino/sql/analyzer/ExpressionAnalyzer.java index 27da38e1a50ccd..c50341811c981d 100644 --- a/core/trino-main/src/main/java/io/trino/sql/analyzer/ExpressionAnalyzer.java +++ b/core/trino-main/src/main/java/io/trino/sql/analyzer/ExpressionAnalyzer.java @@ -1539,7 +1539,7 @@ private void analyzeWindow(ResolvedWindow window, Context context, Node original // validate frame start and end types FrameBound.Type startType = frame.getStart().getType(); - FrameBound.Type endType = frame.getEnd().orElse(new FrameBound(CURRENT_ROW)).getType(); + FrameBound.Type endType = frame.getEnd().map(FrameBound::getType).orElse(CURRENT_ROW); if (startType == UNBOUNDED_FOLLOWING) { throw semanticException(INVALID_WINDOW_FRAME, frame, "Window frame start cannot be UNBOUNDED FOLLOWING"); } diff --git a/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java b/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java index caf099570ac933..5bf6bc4f9af87a 100644 --- a/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java +++ b/core/trino-main/src/main/java/io/trino/sql/analyzer/StatementAnalyzer.java @@ -1326,7 +1326,7 @@ private List processTableExecuteArguments(TableExecute node, TableProc if (!names.add(name.getCanonicalValue())) { throw semanticException(DUPLICATE_PROPERTY, argument, "Duplicate named argument: %s", name); } - properties.add(new Property(argument.getLocation(), name, argument.getValue())); + properties.add(new Property(argument.getLocation().orElseThrow(), name, argument.getValue())); } } else { @@ -1334,7 +1334,7 @@ private List processTableExecuteArguments(TableExecute node, TableProc int pos = 0; for (CallArgument argument : arguments) { Identifier name = new Identifier(procedureMetadata.getProperties().get(pos).getName()); - properties.add(new Property(argument.getLocation(), name, argument.getValue())); + properties.add(new Property(argument.getLocation().orElseThrow(), name, argument.getValue())); pos++; } } diff --git a/core/trino-main/src/main/java/io/trino/sql/rewrite/ExplainRewrite.java b/core/trino-main/src/main/java/io/trino/sql/rewrite/ExplainRewrite.java index 7cf2d81fbbddcb..903aad0c2f6339 100644 --- a/core/trino-main/src/main/java/io/trino/sql/rewrite/ExplainRewrite.java +++ b/core/trino-main/src/main/java/io/trino/sql/rewrite/ExplainRewrite.java @@ -98,7 +98,7 @@ public Visitor( protected Node visitExplainAnalyze(ExplainAnalyze node, Void context) { Statement statement = (Statement) process(node.getStatement(), context); - return new ExplainAnalyze(node.getLocation(), statement, node.isVerbose()); + return new ExplainAnalyze(node.getLocation().orElseThrow(), statement, node.isVerbose()); } @Override diff --git a/core/trino-main/src/main/java/io/trino/sql/rewrite/ShowQueriesRewrite.java b/core/trino-main/src/main/java/io/trino/sql/rewrite/ShowQueriesRewrite.java index b8ac18f02015ab..024ab73f31b573 100644 --- a/core/trino-main/src/main/java/io/trino/sql/rewrite/ShowQueriesRewrite.java +++ b/core/trino-main/src/main/java/io/trino/sql/rewrite/ShowQueriesRewrite.java @@ -230,14 +230,14 @@ public Visitor(Session session) protected Node visitExplain(Explain node, Void context) { Statement statement = (Statement) process(node.getStatement(), null); - return new Explain(node.getLocation(), statement, node.getOptions()); + return new Explain(node.getLocation().orElseThrow(), statement, node.getOptions()); } @Override protected Node visitExplainAnalyze(ExplainAnalyze node, Void context) { Statement statement = (Statement) process(node.getStatement(), null); - return new ExplainAnalyze(node.getLocation(), statement, node.isVerbose()); + return new ExplainAnalyze(node.getLocation().orElseThrow(), statement, node.isVerbose()); } @Override diff --git a/core/trino-main/src/test/java/io/trino/sql/query/TestColumnMask.java b/core/trino-main/src/test/java/io/trino/sql/query/TestColumnMask.java index 290ba1ee760691..fa515ad4c92bbc 100644 --- a/core/trino-main/src/test/java/io/trino/sql/query/TestColumnMask.java +++ b/core/trino-main/src/test/java/io/trino/sql/query/TestColumnMask.java @@ -801,7 +801,7 @@ public void testInsertWithColumnMasking() .expression("clerk") .build()); assertThat(assertions.query("INSERT INTO orders SELECT * FROM orders")) - .failure().hasMessage("Insert into table with column masks is not supported"); + .failure().hasMessage("line 1:1: Insert into table with column masks is not supported"); } @Test @@ -906,7 +906,7 @@ public void testColumnMaskWithHiddenColumns() .skippingTypesCheck() .matches("VALUES 'POLAND'"); assertThat(assertions.query("INSERT INTO mock.tiny.nation_with_hidden_column SELECT * FROM mock.tiny.nation_with_hidden_column")) - .failure().hasMessage("Insert into table with column masks is not supported"); + .failure().hasMessage("line 1:1: Insert into table with column masks is not supported"); assertThat(assertions.query("DELETE FROM mock.tiny.nation_with_hidden_column")) .failure().hasMessage("line 1:1: Delete from table with column mask"); assertThat(assertions.query("UPDATE mock.tiny.nation_with_hidden_column SET name = 'X'")) diff --git a/core/trino-parser/src/main/java/io/trino/sql/QueryUtil.java b/core/trino-parser/src/main/java/io/trino/sql/QueryUtil.java index 17119ff9cc6194..2e8512a44f2a2f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/QueryUtil.java +++ b/core/trino-parser/src/main/java/io/trino/sql/QueryUtil.java @@ -33,7 +33,6 @@ import io.trino.sql.tree.QuerySpecification; import io.trino.sql.tree.Relation; import io.trino.sql.tree.Row; -import io.trino.sql.tree.SearchedCaseExpression; import io.trino.sql.tree.Select; import io.trino.sql.tree.SelectItem; import io.trino.sql.tree.SingleColumn; @@ -42,7 +41,6 @@ import io.trino.sql.tree.Table; import io.trino.sql.tree.TableSubquery; import io.trino.sql.tree.Values; -import io.trino.sql.tree.WhenClause; import io.trino.sql.tree.WindowDefinition; import java.util.List; @@ -131,11 +129,6 @@ public static Expression equal(Expression left, Expression right) return new ComparisonExpression(ComparisonExpression.Operator.EQUAL, left, right); } - public static Expression caseWhen(Expression operand, Expression result) - { - return new SearchedCaseExpression(ImmutableList.of(new WhenClause(operand, result)), Optional.empty()); - } - public static Expression functionCall(String name, Expression... arguments) { return new FunctionCall(QualifiedName.of(name), ImmutableList.copyOf(arguments)); diff --git a/core/trino-parser/src/main/java/io/trino/sql/parser/AstBuilder.java b/core/trino-parser/src/main/java/io/trino/sql/parser/AstBuilder.java index 5ef38540e722f4..5e259ac864658d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/parser/AstBuilder.java +++ b/core/trino-parser/src/main/java/io/trino/sql/parser/AstBuilder.java @@ -655,6 +655,7 @@ public Node visitInsertInto(SqlBaseParser.InsertIntoContext context) } return new Insert( + getLocation(context), new Table(getQualifiedName(context.qualifiedName())), columnAliases, (Query) visit(context.rootQuery())); @@ -1164,7 +1165,7 @@ public Node visitQueryNoWith(SqlBaseParser.QueryNoWithContext context) rowCount = new Parameter(getLocation(context.offset.QUESTION_MARK()), parameterPosition); parameterPosition++; } - offset = Optional.of(new Offset(Optional.of(getLocation(context.OFFSET())), rowCount)); + offset = Optional.of(new Offset(getLocation(context.OFFSET()), rowCount)); } Optional limit = Optional.empty(); @@ -1179,7 +1180,7 @@ public Node visitQueryNoWith(SqlBaseParser.QueryNoWithContext context) parameterPosition++; } } - limit = Optional.of(new FetchFirst(Optional.of(getLocation(context.FETCH())), rowCount, context.TIES() != null)); + limit = Optional.of(new FetchFirst(getLocation(context.FETCH()), rowCount, context.TIES() != null)); } else if (context.LIMIT() != null) { if (context.limit == null) { @@ -1197,7 +1198,7 @@ else if (context.limit.rowCount().INTEGER_VALUE() != null) { parameterPosition++; } - limit = Optional.of(new Limit(Optional.of(getLocation(context.LIMIT())), rowCount)); + limit = Optional.of(new Limit(getLocation(context.LIMIT()), rowCount)); } if (term instanceof QuerySpecification query) { @@ -1397,7 +1398,7 @@ public Node visitExplain(SqlBaseParser.ExplainContext context) @Override public Node visitExplainAnalyze(SqlBaseParser.ExplainAnalyzeContext context) { - return new ExplainAnalyze(getLocation(context), context.VERBOSE() != null, (Statement) visit(context.statement())); + return new ExplainAnalyze(getLocation(context), (Statement) visit(context.statement()), context.VERBOSE() != null); } @Override @@ -1464,14 +1465,14 @@ public Node visitShowColumns(SqlBaseParser.ShowColumnsContext context) @Override public Node visitShowStats(SqlBaseParser.ShowStatsContext context) { - return new ShowStats(Optional.of(getLocation(context)), new Table(getQualifiedName(context.qualifiedName()))); + return new ShowStats(getLocation(context), new Table(getQualifiedName(context.qualifiedName()))); } @Override public Node visitShowStatsForQuery(SqlBaseParser.ShowStatsForQueryContext context) { Query query = (Query) visit(context.rootQuery()); - return new ShowStats(Optional.of(getLocation(context)), new TableSubquery(query)); + return new ShowStats(getLocation(context), new TableSubquery(query)); } @Override @@ -2058,7 +2059,7 @@ public Node visitTableArgument(SqlBaseParser.TableArgumentContext context) Optional orderBy = Optional.empty(); if (context.ORDER() != null) { - orderBy = Optional.of(new OrderBy(visit(context.sortItem(), SortItem.class))); + orderBy = Optional.of(new OrderBy(getLocation(context.ORDER()), visit(context.sortItem(), SortItem.class))); } Optional emptyTableTreatment = Optional.empty(); @@ -2444,7 +2445,7 @@ public Node visitExtract(SqlBaseParser.ExtractContext context) public Node visitListagg(SqlBaseParser.ListaggContext context) { Optional window = Optional.empty(); - OrderBy orderBy = new OrderBy(visit(context.sortItem(), SortItem.class)); + OrderBy orderBy = new OrderBy(getLocation(context.ORDER()), visit(context.sortItem(), SortItem.class)); boolean distinct = isDistinct(context.setQuantifier()); Expression expression = (Expression) visit(context.expression()); @@ -2537,7 +2538,7 @@ else if (errorBehaviorContext.ERROR() != null) { } return new JsonExists( - Optional.of(getLocation(context)), + getLocation(context), jsonPathInvocation, errorBehavior); } @@ -2584,7 +2585,7 @@ else if (errorBehaviorContext.DEFAULT() != null) { } return new JsonValue( - Optional.of(getLocation(context)), + getLocation(context), jsonPathInvocation, returnedType, emptyBehavior, @@ -2662,7 +2663,7 @@ else if (errorBehaviorContext.OBJECT() != null) { } return new JsonQuery( - Optional.of(getLocation(context)), + getLocation(context), jsonPathInvocation, returnedType, jsonOutputFormat, @@ -2689,7 +2690,7 @@ public Node visitJsonPathInvocation(SqlBaseParser.JsonPathInvocationContext cont Optional pathName = visitIfPresent(context.pathName, Identifier.class); List pathParameters = visit(context.jsonArgument(), JsonPathParameter.class); - return new JsonPathInvocation(Optional.of(getLocation(context)), jsonInput, inputFormat, jsonPath, pathName, pathParameters); + return new JsonPathInvocation(getLocation(context), jsonInput, inputFormat, jsonPath, pathName, pathParameters); } private static JsonFormat getJsonFormat(SqlBaseParser.JsonRepresentationContext context) @@ -2710,7 +2711,7 @@ private static JsonFormat getJsonFormat(SqlBaseParser.JsonRepresentationContext public Node visitJsonArgument(SqlBaseParser.JsonArgumentContext context) { return new JsonPathParameter( - Optional.of(getLocation(context)), + getLocation(context), (Identifier) visit(context.identifier()), (Expression) visit(context.jsonValueExpression().expression()), Optional.ofNullable(context.jsonValueExpression().jsonRepresentation()) @@ -2732,7 +2733,7 @@ public Node visitJsonObject(SqlBaseParser.JsonObjectContext context) jsonOutputFormat = Optional.of(getJsonFormat(context.jsonRepresentation())); } - return new JsonObject(Optional.of(getLocation(context)), members, nullOnNull, uniqueKeys, returnedType, jsonOutputFormat); + return new JsonObject(getLocation(context), members, nullOnNull, uniqueKeys, returnedType, jsonOutputFormat); } @Override @@ -2760,7 +2761,7 @@ public Node visitJsonArray(SqlBaseParser.JsonArrayContext context) jsonOutputFormat = Optional.of(getJsonFormat(context.jsonRepresentation())); } - return new JsonArray(Optional.of(getLocation(context)), elements, nullOnNull, returnedType, jsonOutputFormat); + return new JsonArray(getLocation(context), elements, nullOnNull, returnedType, jsonOutputFormat); } @Override @@ -2857,7 +2858,7 @@ public Node visitFunctionCall(SqlBaseParser.FunctionCallContext context) Optional orderBy = Optional.empty(); if (context.ORDER() != null) { - orderBy = Optional.of(new OrderBy(visit(context.sortItem(), SortItem.class))); + orderBy = Optional.of(new OrderBy(getLocation(context.ORDER()), visit(context.sortItem(), SortItem.class))); } QualifiedName name = getQualifiedName(context.qualifiedName()); @@ -2982,7 +2983,7 @@ public Node visitMeasure(SqlBaseParser.MeasureContext context) public Node visitLambda(SqlBaseParser.LambdaContext context) { List arguments = visit(context.identifier(), Identifier.class).stream() - .map(LambdaArgumentDeclaration::new) + .map(argument -> new LambdaArgumentDeclaration(argument.getLocation().orElseThrow(), argument)) .collect(toList()); Expression body = (Expression) visit(context.expression()); @@ -3103,7 +3104,7 @@ public Node visitGroupingOperation(SqlBaseParser.GroupingOperationContext contex .map(this::getQualifiedName) .collect(toList()); - return new GroupingOperation(Optional.of(getLocation(context)), arguments); + return new GroupingOperation(getLocation(context), arguments); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/AddColumn.java b/core/trino-parser/src/main/java/io/trino/sql/tree/AddColumn.java index ea9e99dc222884..8de253a5883278 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/AddColumn.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/AddColumn.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -32,7 +31,7 @@ public class AddColumn public AddColumn(NodeLocation location, QualifiedName name, ColumnDefinition column, boolean tableExists, boolean columnNotExists) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.column = requireNonNull(column, "column is null"); this.tableExists = tableExists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/AllColumns.java b/core/trino-parser/src/main/java/io/trino/sql/tree/AllColumns.java index eeecac138d3723..24caef8f6d2f34 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/AllColumns.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/AllColumns.java @@ -28,30 +28,35 @@ public class AllColumns private final List aliases; private final Optional target; + @Deprecated public AllColumns() { this(Optional.empty(), Optional.empty(), ImmutableList.of()); } - public AllColumns(Expression target) + @Deprecated + public AllColumns(Expression target, List aliases) { - this(Optional.empty(), Optional.of(target), ImmutableList.of()); + this(Optional.empty(), Optional.of(target), aliases); } - public AllColumns(Expression target, List aliases) + @Deprecated + public AllColumns(Optional location, Optional target, List aliases) { - this(Optional.empty(), Optional.of(target), aliases); + super(location); + this.aliases = ImmutableList.copyOf(requireNonNull(aliases, "aliases is null")); + this.target = requireNonNull(target, "target is null"); } - public AllColumns(NodeLocation location, Optional target, List aliases) + public AllColumns(NodeLocation location) { - this(Optional.of(location), target, aliases); + this(location, Optional.empty(), ImmutableList.of()); } - public AllColumns(Optional location, Optional target, List aliases) + public AllColumns(NodeLocation location, Optional target, List aliases) { super(location); - this.aliases = ImmutableList.copyOf(requireNonNull(aliases, "aliases is null")); + this.aliases = ImmutableList.copyOf(aliases); this.target = requireNonNull(target, "target is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/AllRows.java b/core/trino-parser/src/main/java/io/trino/sql/tree/AllRows.java index 4224d067ddf10f..84725c4cc8393e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/AllRows.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/AllRows.java @@ -21,17 +21,13 @@ public class AllRows extends Expression { + @Deprecated public AllRows() { - this(Optional.empty()); + super(Optional.empty()); } public AllRows(NodeLocation location) - { - this(Optional.of(location)); - } - - public AllRows(Optional location) { super(location); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Analyze.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Analyze.java index c558778b302f10..ab7c645f3ae351 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Analyze.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Analyze.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class Analyze public Analyze(NodeLocation location, QualifiedName tableName, List properties) { - super(Optional.of(location)); + super(location); this.tableName = requireNonNull(tableName, "tableName is null"); this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/AnchorPattern.java b/core/trino-parser/src/main/java/io/trino/sql/tree/AnchorPattern.java index d887827dc7698e..af033a4bc7ba75 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/AnchorPattern.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/AnchorPattern.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -35,7 +34,7 @@ public enum Type public AnchorPattern(NodeLocation location, Type type) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticBinaryExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticBinaryExpression.java index 1d79d51aa7ee4c..185e2f8bf43c2f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticBinaryExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticBinaryExpression.java @@ -46,17 +46,16 @@ public String getValue() private final Expression left; private final Expression right; + @Deprecated public ArithmeticBinaryExpression(Operator operator, Expression left, Expression right) { - this(Optional.empty(), operator, left, right); + super(Optional.empty()); + this.operator = operator; + this.left = left; + this.right = right; } public ArithmeticBinaryExpression(NodeLocation location, Operator operator, Expression left, Expression right) - { - this(Optional.of(location), operator, left, right); - } - - private ArithmeticBinaryExpression(Optional location, Operator operator, Expression left, Expression right) { super(location); this.operator = operator; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticUnaryExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticUnaryExpression.java index 25346b11e3392c..6602785fec4f23 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticUnaryExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ArithmeticUnaryExpression.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -33,17 +32,7 @@ public enum Sign private final Expression value; private final Sign sign; - public ArithmeticUnaryExpression(Sign sign, Expression value) - { - this(Optional.empty(), sign, value); - } - public ArithmeticUnaryExpression(NodeLocation location, Sign sign, Expression value) - { - this(Optional.of(location), sign, value); - } - - private ArithmeticUnaryExpression(Optional location, Sign sign, Expression value) { super(location); requireNonNull(value, "value is null"); @@ -55,12 +44,12 @@ private ArithmeticUnaryExpression(Optional location, Sign sign, Ex public static ArithmeticUnaryExpression positive(NodeLocation location, Expression value) { - return new ArithmeticUnaryExpression(Optional.of(location), Sign.PLUS, value); + return new ArithmeticUnaryExpression(location, Sign.PLUS, value); } public static ArithmeticUnaryExpression negative(NodeLocation location, Expression value) { - return new ArithmeticUnaryExpression(Optional.of(location), Sign.MINUS, value); + return new ArithmeticUnaryExpression(location, Sign.MINUS, value); } public Expression getValue() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Array.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Array.java index 1d376af1bcf39f..43b573439cbe6d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Array.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Array.java @@ -19,27 +19,21 @@ import java.util.Objects; import java.util.Optional; -import static java.util.Objects.requireNonNull; - public class Array extends Expression { private final List values; + @Deprecated public Array(List values) { - this(Optional.empty(), values); + super(Optional.empty()); + this.values = ImmutableList.copyOf(values); } public Array(NodeLocation location, List values) - { - this(Optional.of(location), values); - } - - private Array(Optional location, List values) { super(location); - requireNonNull(values, "values is null"); this.values = ImmutableList.copyOf(values); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/AtTimeZone.java b/core/trino-parser/src/main/java/io/trino/sql/tree/AtTimeZone.java index 162eb36fd116ab..20df16c8c1af7c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/AtTimeZone.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/AtTimeZone.java @@ -28,6 +28,7 @@ public class AtTimeZone private final Expression value; private final Expression timeZone; + @Deprecated public AtTimeZone(Expression value, Expression timeZone) { this(Optional.empty(), value, timeZone); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/BetweenPredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/BetweenPredicate.java index ebfd53d5ac5e9b..1ff7b1369732b4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/BetweenPredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/BetweenPredicate.java @@ -28,14 +28,16 @@ public class BetweenPredicate private final Expression min; private final Expression max; - public BetweenPredicate(Expression value, Expression min, Expression max) - { - this(Optional.empty(), value, min, max); - } - public BetweenPredicate(NodeLocation location, Expression value, Expression min, Expression max) { - this(Optional.of(location), value, min, max); + super(location); + requireNonNull(value, "value is null"); + requireNonNull(min, "min is null"); + requireNonNull(max, "max is null"); + + this.value = value; + this.min = min; + this.max = max; } private BetweenPredicate(Optional location, Expression value, Expression min, Expression max) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/BinaryLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/BinaryLiteral.java index 84f400b11d4aa8..947eff6548f4f2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/BinaryLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/BinaryLiteral.java @@ -18,7 +18,6 @@ import io.trino.sql.parser.ParsingException; import java.util.Arrays; -import java.util.Optional; import static java.util.Locale.ENGLISH; import static java.util.Objects.requireNonNull; @@ -36,7 +35,7 @@ public class BinaryLiteral public BinaryLiteral(NodeLocation location, String value) { - super(Optional.of(location)); + super(location); requireNonNull(value, "value is null"); String hexString = WHITESPACE_MATCHER.removeFrom(value).toUpperCase(ENGLISH); if (!HEX_DIGIT_MATCHER.matchesAllOf(hexString)) { diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/BooleanLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/BooleanLiteral.java index 0940e1392c01ef..4ba1d34e5240e7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/BooleanLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/BooleanLiteral.java @@ -28,6 +28,7 @@ public class BooleanLiteral private final boolean value; + @Deprecated public BooleanLiteral(String value) { this(Optional.empty(), value); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Call.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Call.java index 956d4093c0a213..c42b2501ea0efe 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Call.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Call.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class Call public Call(NodeLocation location, QualifiedName name, List arguments) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.arguments = ImmutableList.copyOf(requireNonNull(arguments, "arguments is null")); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CallArgument.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CallArgument.java index 9e3c8d4bebb5ee..23d89cd4fd67a2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CallArgument.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CallArgument.java @@ -30,7 +30,7 @@ public final class CallArgument public CallArgument(NodeLocation location, Optional name, Expression value) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.value = requireNonNull(value, "value is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CaseStatementWhenClause.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CaseStatementWhenClause.java index 8e5e1b7782c6ff..326002f8f64c26 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CaseStatementWhenClause.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CaseStatementWhenClause.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class CaseStatementWhenClause public CaseStatementWhenClause(NodeLocation location, Expression expression, List statements) { - super(Optional.of(location)); + super(location); this.expression = requireNonNull(expression, "expression is null"); this.statements = requireNonNull(statements, "statements is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Cast.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Cast.java index 44e8e700f5f41d..394379a903a10b 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Cast.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Cast.java @@ -28,11 +28,13 @@ public final class Cast private final DataType type; private final boolean safe; + @Deprecated public Cast(Expression expression, DataType type) { this(Optional.empty(), expression, type, false); } + @Deprecated public Cast(Expression expression, DataType type, boolean safe) { this(Optional.empty(), expression, type, safe); @@ -40,12 +42,15 @@ public Cast(Expression expression, DataType type, boolean safe) public Cast(NodeLocation location, Expression expression, DataType type) { - this(Optional.of(location), expression, type, false); + this(location, expression, type, false); } public Cast(NodeLocation location, Expression expression, DataType type, boolean safe) { - this(Optional.of(location), expression, type, safe); + super(location); + this.expression = requireNonNull(expression, "expression is null"); + this.type = requireNonNull(type, "type is null"); + this.safe = safe; } private Cast(Optional location, Expression expression, DataType type, boolean safe) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CoalesceExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CoalesceExpression.java index ce14f7dc26dfc5..4ab073d9e79b94 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CoalesceExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CoalesceExpression.java @@ -27,6 +27,7 @@ public class CoalesceExpression { private final List operands; + @Deprecated public CoalesceExpression(Expression first, Expression second, Expression... additional) { this(Optional.empty(), ImmutableList.builder() @@ -35,11 +36,6 @@ public CoalesceExpression(Expression first, Expression second, Expression... add .build()); } - public CoalesceExpression(List operands) - { - this(Optional.empty(), operands); - } - public CoalesceExpression(NodeLocation location, List operands) { this(Optional.of(location), operands); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Comment.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Comment.java index e1d31c1fab3e8a..f68bd1192650f4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Comment.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Comment.java @@ -36,7 +36,7 @@ public enum Type public Comment(NodeLocation location, Type type, QualifiedName name, Optional comment) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); this.name = requireNonNull(name, "name is null"); this.comment = requireNonNull(comment, "comment is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CommentCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CommentCharacteristic.java index 4bbedc50a2238f..64922f71c77d56 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CommentCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CommentCharacteristic.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -28,7 +27,7 @@ public final class CommentCharacteristic public CommentCharacteristic(NodeLocation location, String comment) { - super(Optional.of(location)); + super(location); this.comment = requireNonNull(comment, "comment is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Commit.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Commit.java index 45e1578ddf6305..73097892b58196 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Commit.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Commit.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public final class Commit extends Statement { public Commit(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ComparisonExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ComparisonExpression.java index 8264729369b724..5e2325dfabce29 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ComparisonExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ComparisonExpression.java @@ -86,6 +86,7 @@ public Operator negate() private final Expression left; private final Expression right; + @Deprecated public ComparisonExpression(Operator operator, Expression left, Expression right) { this(Optional.empty(), operator, left, right); @@ -93,7 +94,10 @@ public ComparisonExpression(Operator operator, Expression left, Expression right public ComparisonExpression(NodeLocation location, Operator operator, Expression left, Expression right) { - this(Optional.of(location), operator, left, right); + super(location); + this.operator = requireNonNull(operator, "operator is null"); + this.left = requireNonNull(left, "left is null"); + this.right = requireNonNull(right, "right is null"); } private ComparisonExpression(Optional location, Operator operator, Expression left, Expression right) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ControlStatement.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ControlStatement.java index ae69ecb5d05721..ea60aa81f03f18 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ControlStatement.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ControlStatement.java @@ -13,8 +13,6 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract sealed class ControlStatement extends Node permits AssignmentStatement, CaseStatement, CompoundStatement, @@ -23,6 +21,6 @@ public abstract sealed class ControlStatement { protected ControlStatement(NodeLocation location) { - super(Optional.of(location)); + super(location); } } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateCatalog.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateCatalog.java index b268dabc8ad345..d443a07a831e9b 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateCatalog.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateCatalog.java @@ -41,7 +41,7 @@ public CreateCatalog( Optional principal, Optional comment) { - super(Optional.of(location)); + super(location); this.catalogName = requireNonNull(catalogName, "catalogName is null"); this.notExists = notExists; this.connectorName = requireNonNull(connectorName, "connectorName is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateFunction.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateFunction.java index 8fcd3cfa8a522a..9a27534c418a60 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateFunction.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateFunction.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class CreateFunction public CreateFunction(NodeLocation location, FunctionSpecification specification, boolean replace) { - super(Optional.of(location)); + super(location); this.specification = requireNonNull(specification, "specification is null"); this.replace = replace; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateMaterializedView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateMaterializedView.java index 3676d3fd3cfb2c..2c131614d8f0a2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateMaterializedView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateMaterializedView.java @@ -43,7 +43,7 @@ public CreateMaterializedView( List properties, Optional comment) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.query = requireNonNull(query, "query is null"); this.replace = replace; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateRole.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateRole.java index 75353c04b7b99e..a59f61dc6948a8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateRole.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateRole.java @@ -31,7 +31,7 @@ public class CreateRole public CreateRole(NodeLocation location, Identifier name, Optional grantor, Optional catalog) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.grantor = requireNonNull(grantor, "grantor is null"); this.catalog = requireNonNull(catalog, "catalog is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateSchema.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateSchema.java index 04fa24b2c1acc1..eea39840d4efd8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateSchema.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateSchema.java @@ -32,7 +32,7 @@ public class CreateSchema public CreateSchema(NodeLocation location, QualifiedName schemaName, boolean notExists, List properties, Optional principal) { - super(Optional.of(location)); + super(location); this.schemaName = requireNonNull(schemaName, "schemaName is null"); this.notExists = notExists; this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTable.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTable.java index 7b71b7e2f8b304..b124fe720d960a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTable.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTable.java @@ -31,21 +31,22 @@ public class CreateTable private final List properties; private final Optional comment; + @Deprecated public CreateTable(QualifiedName name, List elements, SaveMode saveMode, List properties, Optional comment) { - this(Optional.empty(), name, elements, saveMode, properties, comment); + super(Optional.empty()); + this.name = requireNonNull(name, "name is null"); + this.elements = ImmutableList.copyOf(requireNonNull(elements, "elements is null")); + this.saveMode = requireNonNull(saveMode, "saveMode is null"); + this.properties = requireNonNull(properties, "properties is null"); + this.comment = requireNonNull(comment, "comment is null"); } public CreateTable(NodeLocation location, QualifiedName name, List elements, SaveMode saveMode, List properties, Optional comment) - { - this(Optional.of(location), name, elements, saveMode, properties, comment); - } - - private CreateTable(Optional location, QualifiedName name, List elements, SaveMode saveMode, List properties, Optional comment) { super(location); this.name = requireNonNull(name, "name is null"); - this.elements = ImmutableList.copyOf(requireNonNull(elements, "elements is null")); + this.elements = ImmutableList.copyOf(elements); this.saveMode = requireNonNull(saveMode, "saveMode is null"); this.properties = requireNonNull(properties, "properties is null"); this.comment = requireNonNull(comment, "comment is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTableAsSelect.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTableAsSelect.java index 58bf75ccccb5cd..22d3833156c93c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTableAsSelect.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateTableAsSelect.java @@ -33,23 +33,26 @@ public class CreateTableAsSelect private final Optional> columnAliases; private final Optional comment; + @Deprecated public CreateTableAsSelect(QualifiedName name, Query query, SaveMode saveMode, List properties, boolean withData, Optional> columnAliases, Optional comment) { - this(Optional.empty(), name, query, saveMode, properties, withData, columnAliases, comment); + super(Optional.empty()); + this.name = requireNonNull(name, "name is null"); + this.query = requireNonNull(query, "query is null"); + this.saveMode = requireNonNull(saveMode, "saveMode is null"); + this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); + this.withData = withData; + this.columnAliases = columnAliases; + this.comment = requireNonNull(comment, "comment is null"); } public CreateTableAsSelect(NodeLocation location, QualifiedName name, Query query, SaveMode saveMode, List properties, boolean withData, Optional> columnAliases, Optional comment) - { - this(Optional.of(location), name, query, saveMode, properties, withData, columnAliases, comment); - } - - private CreateTableAsSelect(Optional location, QualifiedName name, Query query, SaveMode saveMode, List properties, boolean withData, Optional> columnAliases, Optional comment) { super(location); this.name = requireNonNull(name, "name is null"); this.query = requireNonNull(query, "query is null"); this.saveMode = requireNonNull(saveMode, "saveMode is null"); - this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); + this.properties = ImmutableList.copyOf(properties); this.withData = withData; this.columnAliases = columnAliases; this.comment = requireNonNull(comment, "comment is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateView.java index 8e6dce3de2697d..a51424e98f7432 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CreateView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CreateView.java @@ -37,17 +37,19 @@ public enum Security private final Optional security; private final List properties; + @Deprecated public CreateView(QualifiedName name, Query query, boolean replace, Optional comment, Optional security, List properties) { - this(Optional.empty(), name, query, replace, comment, security, properties); + super(Optional.empty()); + this.name = requireNonNull(name, "name is null"); + this.query = requireNonNull(query, "query is null"); + this.replace = replace; + this.comment = requireNonNull(comment, "comment is null"); + this.security = requireNonNull(security, "security is null"); + this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); } public CreateView(NodeLocation location, QualifiedName name, Query query, boolean replace, Optional comment, Optional security, List properties) - { - this(Optional.of(location), name, query, replace, comment, security, properties); - } - - private CreateView(Optional location, QualifiedName name, Query query, boolean replace, Optional comment, Optional security, List properties) { super(location); this.name = requireNonNull(name, "name is null"); @@ -55,7 +57,7 @@ private CreateView(Optional location, QualifiedName name, Query qu this.replace = replace; this.comment = requireNonNull(comment, "comment is null"); this.security = requireNonNull(security, "security is null"); - this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); + this.properties = ImmutableList.copyOf(properties); } public QualifiedName getName() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentCatalog.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentCatalog.java index 8decfd4ffef598..3242709adb716c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentCatalog.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentCatalog.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public class CurrentCatalog extends Expression { public CurrentCatalog(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentDate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentDate.java index c81f63b10a68de..672d150907a912 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentDate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentDate.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public final class CurrentDate extends Expression { public CurrentDate(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentPath.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentPath.java index 3beca27ec166a1..b18cbe236b19fc 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentPath.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentPath.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public class CurrentPath extends Expression { public CurrentPath(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentSchema.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentSchema.java index 1807ba129eb343..93ba9be1eb16d3 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentSchema.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentSchema.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public class CurrentSchema extends Expression { public CurrentSchema(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTime.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTime.java index 79d30a3de1cdad..45f8960e755119 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTime.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTime.java @@ -28,7 +28,7 @@ public final class CurrentTime public CurrentTime(NodeLocation location, Optional precision) { - super(Optional.of(location)); + super(location); requireNonNull(precision, "precision is null"); this.precision = precision; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTimestamp.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTimestamp.java index 7c500a6b7b7598..52cad7296bb1c5 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTimestamp.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentTimestamp.java @@ -28,7 +28,7 @@ public final class CurrentTimestamp public CurrentTimestamp(NodeLocation location, Optional precision) { - super(Optional.of(location)); + super(location); requireNonNull(precision, "precision is null"); this.precision = precision; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentUser.java b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentUser.java index 25b3be9abf3eab..052c3e864eca1d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentUser.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/CurrentUser.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public class CurrentUser extends Expression { public CurrentUser(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Deallocate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Deallocate.java index 13e177178b364d..fe1a2ed7160a12 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Deallocate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Deallocate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public class Deallocate public Deallocate(NodeLocation location, Identifier name) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DecimalLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DecimalLiteral.java index 9b0d457534d362..2ab958d4ab7ea7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DecimalLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DecimalLiteral.java @@ -23,6 +23,7 @@ public class DecimalLiteral { private final String value; + @Deprecated public DecimalLiteral(String value) { this(Optional.empty(), value); @@ -30,10 +31,12 @@ public DecimalLiteral(String value) public DecimalLiteral(NodeLocation location, String value) { - this(Optional.of(location), value); + super(location); + this.value = requireNonNull(value, "value is null"); } - public DecimalLiteral(Optional location, String value) + @Deprecated + private DecimalLiteral(Optional location, String value) { super(location); this.value = requireNonNull(value, "value is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Delete.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Delete.java index 5f19aa992f61ec..6f4edc3dd58638 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Delete.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Delete.java @@ -30,7 +30,7 @@ public class Delete public Delete(NodeLocation location, Table table, Optional where) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.where = requireNonNull(where, "where is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Deny.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Deny.java index 00c08946ffbe4a..404c97222e583f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Deny.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Deny.java @@ -31,7 +31,7 @@ public class Deny public Deny(NodeLocation location, Optional> privileges, GrantObject grantObject, PrincipalSpecification grantee) { - super(Optional.of(location)); + super(location); requireNonNull(privileges, "privileges is null"); this.privileges = privileges.map(ImmutableList::copyOf); this.grantObject = requireNonNull(grantObject, "grantScope is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeInput.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeInput.java index 867e75d28f3880..57dc87b9abce71 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeInput.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeInput.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public class DescribeInput public DescribeInput(NodeLocation location, Identifier name) { - super(Optional.of(location)); + super(location); this.name = name; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeOutput.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeOutput.java index 6834eb0747989c..49c686611732a7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeOutput.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DescribeOutput.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public class DescribeOutput public DescribeOutput(NodeLocation location, Identifier name) { - super(Optional.of(location)); + super(location); this.name = name; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Descriptor.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Descriptor.java index 80d3d3ec1d54e8..7033b8c1641013 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Descriptor.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Descriptor.java @@ -15,7 +15,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkArgument; @@ -28,7 +27,7 @@ public class Descriptor public Descriptor(NodeLocation location, List fields) { - super(Optional.of(location)); + super(location); requireNonNull(fields, "fields is null"); checkArgument(!fields.isEmpty(), "fields list is empty"); this.fields = fields; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DescriptorField.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DescriptorField.java index 729eb8a52224b2..13a705c531fde3 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DescriptorField.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DescriptorField.java @@ -29,7 +29,7 @@ public class DescriptorField public DescriptorField(NodeLocation location, Identifier name, Optional type) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.type = requireNonNull(type, "type is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DeterministicCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DeterministicCharacteristic.java index 66368586873813..1d2eb498fe642b 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DeterministicCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DeterministicCharacteristic.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public final class DeterministicCharacteristic public DeterministicCharacteristic(NodeLocation location, boolean deterministic) { - super(Optional.of(location)); + super(location); this.deterministic = deterministic; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DoubleLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DoubleLiteral.java index 5a36af50c1d441..8c117d33b19558 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DoubleLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DoubleLiteral.java @@ -22,6 +22,7 @@ public class DoubleLiteral { private final double value; + @Deprecated public DoubleLiteral(String value) { this(Optional.empty(), value); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropCatalog.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropCatalog.java index a7157388cbb7ac..a7c4b37b469145 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropCatalog.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropCatalog.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public final class DropCatalog public DropCatalog(NodeLocation location, Identifier catalogName, boolean exists, boolean cascade) { - super(Optional.of(location)); + super(location); this.catalogName = requireNonNull(catalogName, "catalogName is null"); this.exists = exists; this.cascade = cascade; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropColumn.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropColumn.java index b5bf32169e8574..c537ff80c1edfb 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropColumn.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropColumn.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -32,7 +31,7 @@ public class DropColumn public DropColumn(NodeLocation location, QualifiedName table, QualifiedName field, boolean tableExists, boolean columnExists) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.field = requireNonNull(field, "field is null"); this.tableExists = tableExists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropFunction.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropFunction.java index 0ae276dec47ea0..88f3f3319e073e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropFunction.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropFunction.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public class DropFunction public DropFunction(NodeLocation location, QualifiedName name, List parameters, boolean exists) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.parameters = ImmutableList.copyOf(requireNonNull(parameters, "parameters is null")); this.exists = exists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropMaterializedView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropMaterializedView.java index 0be923d2dbf4ac..7df6e554891919 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropMaterializedView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropMaterializedView.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -29,7 +28,7 @@ public class DropMaterializedView public DropMaterializedView(NodeLocation location, QualifiedName name, boolean exists) { - super(Optional.of(location)); + super(location); this.name = name; this.exists = exists; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropNotNullConstraint.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropNotNullConstraint.java index 36e560a677bc45..4f62be20fcfaee 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropNotNullConstraint.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropNotNullConstraint.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public class DropNotNullConstraint public DropNotNullConstraint(NodeLocation location, QualifiedName table, Identifier column, boolean tableExists) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.column = requireNonNull(column, "field is null"); this.tableExists = tableExists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropRole.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropRole.java index 4f32521133b91b..3c7e8b429a3eff 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropRole.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropRole.java @@ -31,7 +31,7 @@ public class DropRole public DropRole(NodeLocation location, Identifier name, Optional catalog, boolean exists) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.catalog = requireNonNull(catalog, "catalog is null"); this.exists = exists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropSchema.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropSchema.java index 2185a9f0b5299a..56de97136b5b87 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropSchema.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropSchema.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public final class DropSchema public DropSchema(NodeLocation location, QualifiedName schemaName, boolean exists, boolean cascade) { - super(Optional.of(location)); + super(location); this.schemaName = requireNonNull(schemaName, "schemaName is null"); this.exists = exists; this.cascade = cascade; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropTable.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropTable.java index e494ae655f433c..08684d1886f3b4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropTable.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropTable.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -29,7 +28,7 @@ public class DropTable public DropTable(NodeLocation location, QualifiedName tableName, boolean exists) { - super(Optional.of(location)); + super(location); this.tableName = tableName; this.exists = exists; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/DropView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/DropView.java index 72289195a5355e..9737e12469de09 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/DropView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/DropView.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -29,7 +28,7 @@ public class DropView public DropView(NodeLocation location, QualifiedName name, boolean exists) { - super(Optional.of(location)); + super(location); this.name = name; this.exists = exists; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ElseClause.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ElseClause.java index e7c374613324c2..8b84ad67b9a72d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ElseClause.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ElseClause.java @@ -15,7 +15,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -27,7 +26,7 @@ public final class ElseClause public ElseClause(NodeLocation location, List statements) { - super(Optional.of(location)); + super(location); this.statements = requireNonNull(statements, "statements is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ElseIfClause.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ElseIfClause.java index 853742f63e6cb0..623edfb37e0938 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ElseIfClause.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ElseIfClause.java @@ -28,17 +28,15 @@ public final class ElseIfClause private final Expression expression; private final List statements; + @Deprecated public ElseIfClause(Expression expression, List statements) { - this(Optional.empty(), expression, statements); + super(Optional.empty()); + this.expression = requireNonNull(expression, "expression is null"); + this.statements = requireNonNull(statements, "statements is null"); } public ElseIfClause(NodeLocation location, Expression expression, List statements) - { - this(Optional.of(location), expression, statements); - } - - private ElseIfClause(Optional location, Expression expression, List statements) { super(location); this.expression = requireNonNull(expression, "expression is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyPattern.java b/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyPattern.java index 9268cd4d3dbe11..f401b1220e2d13 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyPattern.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyPattern.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -25,7 +24,7 @@ public class EmptyPattern { public EmptyPattern(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyTableTreatment.java b/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyTableTreatment.java index fc49f28df8791b..6beacb63e1c96e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyTableTreatment.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/EmptyTableTreatment.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public final class EmptyTableTreatment public EmptyTableTreatment(NodeLocation location, Treatment treatment) { - super(Optional.of(location)); + super(location); this.treatment = requireNonNull(treatment, "treatment is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExcludedPattern.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExcludedPattern.java index 861533ca5a1ceb..442f67e680ba47 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExcludedPattern.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExcludedPattern.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public class ExcludedPattern public ExcludedPattern(NodeLocation location, RowPattern pattern) { - super(Optional.of(location)); + super(location); this.pattern = requireNonNull(pattern, "pattern is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Execute.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Execute.java index 4c660b0f7fdcfc..bfb16efe8bba6a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Execute.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Execute.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class Execute public Execute(NodeLocation location, Identifier name, List parameters) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.parameters = ImmutableList.copyOf(requireNonNull(parameters, "parameters is null")); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExecuteImmediate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExecuteImmediate.java index b2fa9f293b6d64..0df968909f011b 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExecuteImmediate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExecuteImmediate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class ExecuteImmediate public ExecuteImmediate(NodeLocation location, StringLiteral statement, List parameters) { - super(Optional.of(location)); + super(location); this.statement = requireNonNull(statement, "statement is null"); this.parameters = ImmutableList.copyOf(parameters); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExistsPredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExistsPredicate.java index 370ff8603314aa..be4d530f4b7e8a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExistsPredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExistsPredicate.java @@ -26,21 +26,17 @@ public class ExistsPredicate { private final Expression subquery; + @Deprecated public ExistsPredicate(Expression subquery) { - this(Optional.empty(), subquery); + super(Optional.empty()); + this.subquery = requireNonNull(subquery, "subquery is null"); } public ExistsPredicate(NodeLocation location, Expression subquery) - { - this(Optional.of(location), subquery); - } - - private ExistsPredicate(Optional location, Expression subquery) { super(location); - requireNonNull(subquery, "subquery is null"); - this.subquery = subquery; + this.subquery = requireNonNull(subquery, "subquery is null"); } public Expression getSubquery() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Explain.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Explain.java index d908d089a31b0a..bdfcd5271b0687 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Explain.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Explain.java @@ -28,21 +28,19 @@ public final class Explain private final Statement statement; private final List options; + @Deprecated public Explain(Statement statement, List options) { - this(Optional.empty(), statement, options); + super(Optional.empty()); + this.statement = requireNonNull(statement, "statement is null"); + this.options = ImmutableList.copyOf(requireNonNull(options, "options is null")); } public Explain(NodeLocation location, Statement statement, List options) - { - this(Optional.of(location), statement, options); - } - - public Explain(Optional location, Statement statement, List options) { super(location); this.statement = requireNonNull(statement, "statement is null"); - this.options = ImmutableList.copyOf(requireNonNull(options, "options is null")); + this.options = ImmutableList.copyOf(options); } public Statement getStatement() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainAnalyze.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainAnalyze.java index d546fdddab1ee8..41b397fe1c9e1d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainAnalyze.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainAnalyze.java @@ -28,17 +28,15 @@ public final class ExplainAnalyze private final Statement statement; private final boolean verbose; + @Deprecated public ExplainAnalyze(Statement statement, boolean verbose) { - this(Optional.empty(), statement, verbose); - } - - public ExplainAnalyze(NodeLocation location, boolean verbose, Statement statement) - { - this(Optional.of(location), statement, verbose); + super(Optional.empty()); + this.statement = requireNonNull(statement, "statement is null"); + this.verbose = verbose; } - public ExplainAnalyze(Optional location, Statement statement, boolean verbose) + public ExplainAnalyze(NodeLocation location, Statement statement, boolean verbose) { super(location); this.statement = requireNonNull(statement, "statement is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainFormat.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainFormat.java index 1ef2168b7136d5..6194c0fdc06081 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainFormat.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainFormat.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -36,7 +35,7 @@ public enum Type public ExplainFormat(NodeLocation location, Type type) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainOption.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainOption.java index 092e3b0fd9fa7e..518ac836730e8e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainOption.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainOption.java @@ -13,12 +13,10 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract class ExplainOption extends Node { - protected ExplainOption(Optional location) + protected ExplainOption(NodeLocation location) { super(location); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainType.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainType.java index b58ad90dbd9d11..e118e66d78901b 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainType.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExplainType.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -37,7 +36,7 @@ public enum Type public ExplainType(NodeLocation location, Type type) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Expression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Expression.java index b97770bc4a3987..e55a2e13b8fb44 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Expression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Expression.java @@ -22,11 +22,17 @@ public abstract class Expression extends Node { + @Deprecated protected Expression(Optional location) { super(location); } + protected Expression(NodeLocation location) + { + super(location); + } + /** * Accessible for {@link AstVisitor}, use {@link AstVisitor#process(Node, Object)} instead. */ diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ExpressionTreeRewriter.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ExpressionTreeRewriter.java index 4f3066461a544f..c08a5ad033dcdb 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ExpressionTreeRewriter.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ExpressionTreeRewriter.java @@ -91,7 +91,7 @@ protected Expression visitRow(Row node, Context context) List items = rewrite(node.getItems(), context); if (!sameElements(node.getItems(), items)) { - return new Row(items); + return new Row(node.getLocation().orElseThrow(), items); } return node; @@ -109,7 +109,7 @@ protected Expression visitArithmeticUnary(ArithmeticUnaryExpression node, Contex Expression child = rewrite(node.getValue(), context.get()); if (child != node.getValue()) { - return new ArithmeticUnaryExpression(node.getSign(), child); + return new ArithmeticUnaryExpression(node.getLocation().orElseThrow(), node.getSign(), child); } return node; @@ -129,7 +129,7 @@ public Expression visitArithmeticBinary(ArithmeticBinaryExpression node, Context Expression right = rewrite(node.getRight(), context.get()); if (left != node.getLeft() || right != node.getRight()) { - return new ArithmeticBinaryExpression(node.getOperator(), left, right); + return new ArithmeticBinaryExpression(node.getLocation().orElseThrow(), node.getOperator(), left, right); } return node; @@ -148,7 +148,7 @@ protected Expression visitArray(Array node, Context context) List values = rewrite(node.getValues(), context); if (!sameElements(node.getValues(), values)) { - return new Array(values); + return new Array(node.getLocation().orElseThrow(), values); } return node; @@ -168,7 +168,7 @@ protected Expression visitAtTimeZone(AtTimeZone node, Context context) Expression timeZone = rewrite(node.getTimeZone(), context.get()); if (value != node.getValue() || timeZone != node.getTimeZone()) { - return new AtTimeZone(value, timeZone); + return new AtTimeZone(node.getLocation().orElseThrow(), value, timeZone); } return node; @@ -188,7 +188,7 @@ protected Expression visitSubscriptExpression(SubscriptExpression node, Context< Expression index = rewrite(node.getIndex(), context.get()); if (base != node.getBase() || index != node.getIndex()) { - return new SubscriptExpression(base, index); + return new SubscriptExpression(node.getLocation().orElseThrow(), base, index); } return node; @@ -208,7 +208,7 @@ public Expression visitComparisonExpression(ComparisonExpression node, Context con Expression max = rewrite(node.getMax(), context.get()); if (value != node.getValue() || min != node.getMin() || max != node.getMax()) { - return new BetweenPredicate(value, min, max); + return new BetweenPredicate(node.getLocation().orElseThrow(), value, min, max); } return node; @@ -247,7 +247,7 @@ public Expression visitLogicalExpression(LogicalExpression node, Context cont List terms = rewrite(node.getTerms(), context); if (!sameElements(node.getTerms(), terms)) { - return new LogicalExpression(node.getOperator(), terms); + return new LogicalExpression(node.getLocation().orElseThrow(), node.getOperator(), terms); } return node; @@ -266,7 +266,7 @@ public Expression visitNotExpression(NotExpression node, Context context) Expression value = rewrite(node.getValue(), context.get()); if (value != node.getValue()) { - return new NotExpression(value); + return new NotExpression(node.getLocation().orElseThrow(), value); } return node; @@ -285,7 +285,7 @@ protected Expression visitIsNullPredicate(IsNullPredicate node, Context conte Expression value = rewrite(node.getValue(), context.get()); if (value != node.getValue()) { - return new IsNullPredicate(value); + return new IsNullPredicate(node.getLocation().orElseThrow(), value); } return node; @@ -304,7 +304,7 @@ protected Expression visitIsNotNullPredicate(IsNotNullPredicate node, Context Expression value = rewrite(node.getValue(), context.get()); if (value != node.getValue()) { - return new IsNotNullPredicate(value); + return new IsNotNullPredicate(node.getLocation().orElseThrow(), value); } return node; @@ -324,7 +324,7 @@ protected Expression visitNullIfExpression(NullIfExpression node, Context con Expression second = rewrite(node.getSecond(), context.get()); if (first != node.getFirst() || second != node.getSecond()) { - return new NullIfExpression(first, second); + return new NullIfExpression(node.getLocation().orElseThrow(), first, second); } return node; @@ -348,7 +348,7 @@ protected Expression visitIfExpression(IfExpression node, Context context) } if ((condition != node.getCondition()) || (trueValue != node.getTrueValue()) || (falseValue != node.getFalseValue().orElse(null))) { - return new IfExpression(condition, trueValue, falseValue); + return new IfExpression(node.getLocation().orElseThrow(), condition, trueValue, falseValue); } return node; @@ -373,7 +373,7 @@ protected Expression visitSearchedCaseExpression(SearchedCaseExpression node, Co .map(value -> rewrite(value, context.get())); if (!sameElements(node.getDefaultValue(), defaultValue) || !sameElements(node.getWhenClauses(), builder.build())) { - return new SearchedCaseExpression(builder.build(), defaultValue); + return new SearchedCaseExpression(node.getLocation().orElseThrow(), builder.build(), defaultValue); } return node; @@ -402,7 +402,7 @@ protected Expression visitSimpleCaseExpression(SimpleCaseExpression node, Contex if (operand != node.getOperand() || !sameElements(node.getDefaultValue(), defaultValue) || !sameElements(node.getWhenClauses(), builder.build())) { - return new SimpleCaseExpression(operand, builder.build(), defaultValue); + return new SimpleCaseExpression(node.getLocation().orElseThrow(), operand, builder.build(), defaultValue); } return node; @@ -422,7 +422,7 @@ protected Expression visitWhenClause(WhenClause node, Context context) Expression result = rewrite(node.getResult(), context.get()); if (operand != node.getOperand() || result != node.getResult()) { - return new WhenClause(operand, result); + return new WhenClause(node.getLocation().orElseThrow(), operand, result); } return node; } @@ -440,7 +440,7 @@ protected Expression visitCoalesceExpression(CoalesceExpression node, Context List operands = rewrite(node.getOperands(), context); if (!sameElements(node.getOperands(), operands)) { - return new CoalesceExpression(operands); + return new CoalesceExpression(node.getLocation().orElseThrow(), operands); } return node; @@ -524,7 +524,7 @@ private OrderBy rewriteOrderBy(OrderBy orderBy, Context context) return orderBy; } - return new OrderBy(rewrittenSortItems); + return new OrderBy(orderBy.getLocation().orElseThrow(), rewrittenSortItems); } private List rewriteSortItems(List sortItems, Context context) @@ -533,7 +533,7 @@ private List rewriteSortItems(List sortItems, Context con for (SortItem sortItem : sortItems) { Expression sortKey = rewrite(sortItem.getSortKey(), context.get()); if (sortItem.getSortKey() != sortKey) { - rewrittenSortItems.add(new SortItem(sortKey, sortItem.getOrdering(), sortItem.getNullOrdering())); + rewrittenSortItems.add(new SortItem(sortItem.getLocation().orElseThrow(), sortKey, sortItem.getOrdering(), sortItem.getNullOrdering())); } else { rewrittenSortItems.add(sortItem); @@ -659,7 +659,7 @@ protected Expression visitLambdaExpression(LambdaExpression node, Context con Expression body = rewrite(node.getBody(), context.get()); if (body != node.getBody()) { - return new LambdaExpression(arguments, body); + return new LambdaExpression(node.getLocation().orElseThrow(), arguments, body); } return node; @@ -681,7 +681,7 @@ public Expression visitLikePredicate(LikePredicate node, Context context) .map(escape -> rewrite(escape, context.get())); if (value != node.getValue() || pattern != node.getPattern() || !sameElements(node.getEscape(), rewrittenEscape)) { - return new LikePredicate(value, pattern, rewrittenEscape); + return new LikePredicate(node.getLocation().orElseThrow(), value, pattern, rewrittenEscape); } return node; @@ -701,7 +701,7 @@ public Expression visitInPredicate(InPredicate node, Context context) Expression list = rewrite(node.getValueList(), context.get()); if (node.getValue() != value || node.getValueList() != list) { - return new InPredicate(value, list); + return new InPredicate(node.getLocation().orElseThrow(), value, list); } return node; @@ -720,7 +720,7 @@ protected Expression visitInListExpression(InListExpression node, Context con List values = rewrite(node.getValues(), context); if (!sameElements(node.getValues(), values)) { - return new InListExpression(values); + return new InListExpression(node.getLocation().orElseThrow(), values); } return node; @@ -740,7 +740,7 @@ protected Expression visitExists(ExistsPredicate node, Context context) subquery = rewrite(subquery, context.get()); if (subquery != node.getSubquery()) { - return new ExistsPredicate(subquery); + return new ExistsPredicate(node.getLocation().orElseThrow(), subquery); } return node; @@ -918,7 +918,7 @@ public Expression visitCast(Cast node, Context context) DataType type = rewrite(node.getType(), context.get()); if (node.getExpression() != expression || node.getType() != type) { - return new Cast(expression, type, node.isSafe()); + return new Cast(node.getLocation().orElseThrow(), expression, type, node.isSafe()); } return node; @@ -952,7 +952,7 @@ protected Expression visitRowDataType(RowDataType node, Context context) @SuppressWarnings("OptionalEquality") boolean nameRewritten = name != field.getName(); if (dataType != field.getType() || nameRewritten) { - rewritten.add(new RowDataType.Field(field.getLocation(), name, dataType)); + rewritten.add(new RowDataType.Field(field.getLocation().orElseThrow(), name, dataType)); } else { rewritten.add(field); @@ -1059,7 +1059,7 @@ protected Expression visitQuantifiedComparisonExpression(QuantifiedComparisonExp Expression subquery = rewrite(node.getSubquery(), context.get()); if (node.getValue() != value || node.getSubquery() != subquery) { - return new QuantifiedComparisonExpression(node.getOperator(), node.getQuantifier(), value, subquery); + return new QuantifiedComparisonExpression(node.getLocation().orElseThrow(), node.getOperator(), node.getQuantifier(), value, subquery); } return node; @@ -1166,7 +1166,7 @@ protected Expression visitFormat(Format node, Context context) List arguments = rewrite(node.getArguments(), context); if (!sameElements(node.getArguments(), arguments)) { - return new Format(arguments); + return new Format(node.getLocation().orElseThrow(), arguments); } return node; @@ -1185,7 +1185,7 @@ protected Expression visitJsonExists(JsonExists node, Context context) JsonPathInvocation jsonPathInvocation = rewriteJsonPathInvocation(node.getJsonPathInvocation(), context); if (node.getJsonPathInvocation() != jsonPathInvocation) { - return new JsonExists(node.getLocation(), jsonPathInvocation, node.getErrorBehavior()); + return new JsonExists(node.getLocation().orElseThrow(), jsonPathInvocation, node.getErrorBehavior()); } return node; @@ -1210,7 +1210,7 @@ protected Expression visitJsonValue(JsonValue node, Context context) !sameElements(node.getEmptyDefault(), emptyDefault) || !sameElements(node.getErrorDefault(), errorDefault)) { return new JsonValue( - node.getLocation(), + node.getLocation().orElseThrow(), jsonPathInvocation, node.getReturnedType(), node.getEmptyBehavior(), @@ -1236,7 +1236,7 @@ protected Expression visitJsonQuery(JsonQuery node, Context context) if (node.getJsonPathInvocation() != jsonPathInvocation) { return new JsonQuery( - node.getLocation(), + node.getLocation().orElseThrow(), jsonPathInvocation, node.getReturnedType(), node.getOutputFormat(), @@ -1266,13 +1266,13 @@ protected Expression visitJsonObject(JsonObject node, Context context) if (member.getKey() == key && member.getValue() == value) { return member; } - return new JsonObjectMember(key, value, member.getFormat()); + return new JsonObjectMember(member.getLocation().orElseThrow(), key, value, member.getFormat()); }) .collect(toImmutableList()); if (!sameElements(node.getMembers(), members)) { return new JsonObject( - node.getLocation(), + node.getLocation().orElseThrow(), members, node.isNullOnNull(), node.isUniqueKeys(), @@ -1299,13 +1299,13 @@ protected Expression visitJsonArray(JsonArray node, Context context) if (element.getValue() == value) { return element; } - return new JsonArrayElement(value, element.getFormat()); + return new JsonArrayElement(element.getLocation().orElseThrow(), value, element.getFormat()); }) .collect(toImmutableList()); if (!sameElements(node.getElements(), elements)) { return new JsonArray( - node.getLocation(), + node.getLocation().orElseThrow(), elements, node.isNullOnNull(), node.getReturnedType(), @@ -1323,14 +1323,14 @@ private JsonPathInvocation rewriteJsonPathInvocation(JsonPathInvocation pathInvo .map(pathParameter -> { Expression expression = rewrite(pathParameter.getParameter(), context.get()); if (pathParameter.getParameter() != expression) { - return new JsonPathParameter(pathParameter.getLocation(), pathParameter.getName(), expression, pathParameter.getFormat()); + return new JsonPathParameter(pathParameter.getLocation().orElseThrow(), pathParameter.getName(), expression, pathParameter.getFormat()); } return pathParameter; }) .collect(toImmutableList()); if (pathInvocation.getInputExpression() != inputExpression || !sameElements(pathInvocation.getPathParameters(), pathParameters)) { - return new JsonPathInvocation(pathInvocation.getLocation(), inputExpression, pathInvocation.getInputFormat(), pathInvocation.getJsonPath(), pathInvocation.getPathName(), pathParameters); + return new JsonPathInvocation(pathInvocation.getLocation().orElseThrow(), inputExpression, pathInvocation.getInputFormat(), pathInvocation.getJsonPath(), pathInvocation.getPathName(), pathParameters); } return pathInvocation; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Extract.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Extract.java index db258eaf95d3b7..29a4b46cc11e1d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Extract.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Extract.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -52,7 +51,7 @@ public enum Field public Extract(NodeLocation location, Expression expression, Field field) { - super(Optional.of(location)); + super(location); requireNonNull(expression, "expression is null"); requireNonNull(field, "field is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/FetchFirst.java b/core/trino-parser/src/main/java/io/trino/sql/tree/FetchFirst.java index 04cc140d7e9c5a..3d251e05917f91 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/FetchFirst.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/FetchFirst.java @@ -28,26 +28,31 @@ public class FetchFirst private final Optional rowCount; private final boolean withTies; + @Deprecated public FetchFirst(Expression rowCount) { this(Optional.empty(), Optional.of(rowCount), false); } + @Deprecated public FetchFirst(Expression rowCount, boolean withTies) { this(Optional.empty(), Optional.of(rowCount), withTies); } + @Deprecated public FetchFirst(Optional rowCount) { this(Optional.empty(), rowCount, false); } + @Deprecated public FetchFirst(Optional rowCount, boolean withTies) { this(Optional.empty(), rowCount, withTies); } + @Deprecated public FetchFirst(Optional location, Optional rowCount, boolean withTies) { super(location); @@ -59,6 +64,17 @@ public FetchFirst(Optional location, Optional rowCount this.withTies = withTies; } + public FetchFirst(NodeLocation location, Optional rowCount, boolean withTies) + { + super(location); + rowCount.ifPresent(count -> checkArgument( + count instanceof LongLiteral || count instanceof Parameter, + "unexpected rowCount class: %s", + rowCount.getClass().getSimpleName())); + this.rowCount = rowCount; + this.withTies = withTies; + } + public Optional getRowCount() { return rowCount; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Format.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Format.java index 9fe615841d939d..37563c2f059a29 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Format.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Format.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; @@ -27,17 +26,7 @@ public class Format { private final List arguments; - public Format(List arguments) - { - this(Optional.empty(), arguments); - } - public Format(NodeLocation location, List arguments) - { - this(Optional.of(location), arguments); - } - - private Format(Optional location, List arguments) { super(location); requireNonNull(arguments, "arguments is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/FrameBound.java b/core/trino-parser/src/main/java/io/trino/sql/tree/FrameBound.java index 3b1aafffe47264..9f4f2bcce348c1 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/FrameBound.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/FrameBound.java @@ -37,32 +37,20 @@ public enum Type private final Type type; private final Optional value; - public FrameBound(Type type) - { - this(Optional.empty(), type); - } - public FrameBound(NodeLocation location, Type type) { - this(Optional.of(location), type); + this(location, type, null); } + @Deprecated public FrameBound(Type type, Expression value) { - this(Optional.empty(), type, value); - } - - private FrameBound(Optional location, Type type) - { - this(location, type, null); + super(Optional.empty()); + this.type = requireNonNull(type, "type is null"); + this.value = Optional.ofNullable(value); } public FrameBound(NodeLocation location, Type type, Expression value) - { - this(Optional.of(location), type, value); - } - - private FrameBound(Optional location, Type type, Expression value) { super(location); this.type = requireNonNull(type, "type is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionCall.java b/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionCall.java index 45292e41e89171..4f01e8085c5d1e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionCall.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionCall.java @@ -34,6 +34,7 @@ public class FunctionCall private final Optional processingMode; private final List arguments; + @Deprecated public FunctionCall(QualifiedName name, List arguments) { this(Optional.empty(), name, Optional.empty(), Optional.empty(), Optional.empty(), false, Optional.empty(), Optional.empty(), arguments); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionSpecification.java b/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionSpecification.java index 17d1ebe11d0925..3c35ad3c8198a2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionSpecification.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/FunctionSpecification.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -39,7 +38,7 @@ public FunctionSpecification( List routineCharacteristics, ControlStatement statement) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.parameters = ImmutableList.copyOf(requireNonNull(parameters, "parameters is null")); this.returnsClause = requireNonNull(returnsClause, "returnClause is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/GenericLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/GenericLiteral.java index 2737b676946e85..555bb4b099b8bd 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/GenericLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/GenericLiteral.java @@ -26,6 +26,7 @@ public final class GenericLiteral private final String type; private final String value; + @Deprecated public GenericLiteral(String type, String value) { this(Optional.empty(), type, value); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Grant.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Grant.java index 979c6926abce05..16eb6d7bb37664 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Grant.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Grant.java @@ -32,7 +32,7 @@ public class Grant public Grant(NodeLocation location, Optional> privileges, GrantObject grantObject, PrincipalSpecification grantee, boolean grantOption) { - super(Optional.of(location)); + super(location); requireNonNull(privileges, "privileges is null"); this.privileges = privileges.map(ImmutableList::copyOf); this.grantObject = requireNonNull(grantObject, "grantScope is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/GrantObject.java b/core/trino-parser/src/main/java/io/trino/sql/tree/GrantObject.java index 1b22d12c8f8ac6..671606e1736a40 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/GrantObject.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/GrantObject.java @@ -30,7 +30,7 @@ public class GrantObject public GrantObject(NodeLocation location, Optional entityKind, QualifiedName name) { - super(Optional.of(location)); + super(location); this.entityKind = requireNonNull(entityKind, "entityKind is null"); this.name = requireNonNull(name, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/GrantRoles.java b/core/trino-parser/src/main/java/io/trino/sql/tree/GrantRoles.java index c1c7a401ccfab4..e554ceceb76372 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/GrantRoles.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/GrantRoles.java @@ -41,7 +41,7 @@ public GrantRoles( Optional grantor, Optional catalog) { - super(Optional.of(location)); + super(location); this.roles = ImmutableSet.copyOf(requireNonNull(roles, "roles is null")); this.grantees = ImmutableSet.copyOf(requireNonNull(grantees, "grantees is null")); this.adminOption = adminOption; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/GroupBy.java b/core/trino-parser/src/main/java/io/trino/sql/tree/GroupBy.java index 4ba05ddee2d919..54aad18793c8a8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/GroupBy.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/GroupBy.java @@ -28,21 +28,24 @@ public class GroupBy private final boolean isDistinct; private final List groupingElements; + @Deprecated public GroupBy(boolean isDistinct, List groupingElements) { this(Optional.empty(), isDistinct, groupingElements); } - public GroupBy(NodeLocation location, boolean isDistinct, List groupingElements) + private GroupBy(Optional location, boolean isDistinct, List groupingElements) { - this(Optional.of(location), isDistinct, groupingElements); + super(location); + this.isDistinct = isDistinct; + this.groupingElements = ImmutableList.copyOf(requireNonNull(groupingElements)); } - private GroupBy(Optional location, boolean isDistinct, List groupingElements) + public GroupBy(NodeLocation location, boolean isDistinct, List groupingElements) { super(location); this.isDistinct = isDistinct; - this.groupingElements = ImmutableList.copyOf(requireNonNull(groupingElements)); + this.groupingElements = ImmutableList.copyOf(groupingElements); } public boolean isDistinct() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/GroupingOperation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/GroupingOperation.java index f3ecf4b486669c..11d07ade00985a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/GroupingOperation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/GroupingOperation.java @@ -15,7 +15,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.collect.ImmutableList.toImmutableList; @@ -26,7 +25,7 @@ public class GroupingOperation { private final List groupingColumns; - public GroupingOperation(Optional location, List groupingColumns) + public GroupingOperation(NodeLocation location, List groupingColumns) { super(location); requireNonNull(groupingColumns); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/IfExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/IfExpression.java index 47c8bb6acaf902..cc4ac7548dbbd8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/IfExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/IfExpression.java @@ -31,22 +31,7 @@ public class IfExpression private final Expression trueValue; private final Optional falseValue; - public IfExpression(Expression condition, Expression trueValue, Expression falseValue) - { - this(Optional.empty(), condition, trueValue, falseValue); - } - - public IfExpression(Expression condition, Expression trueValue) - { - this(Optional.empty(), condition, trueValue, null); - } - public IfExpression(NodeLocation location, Expression condition, Expression trueValue, Expression falseValue) - { - this(Optional.of(location), condition, trueValue, falseValue); - } - - private IfExpression(Optional location, Expression condition, Expression trueValue, Expression falseValue) { super(location); this.condition = requireNonNull(condition, "condition is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/InListExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/InListExpression.java index 8344a06024e70a..e33dae59af5d3a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/InListExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/InListExpression.java @@ -17,30 +17,17 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.Preconditions.checkArgument; -import static java.util.Objects.requireNonNull; public class InListExpression extends Expression { private final List values; - public InListExpression(List values) - { - this(Optional.empty(), values); - } - public InListExpression(NodeLocation location, List values) - { - this(Optional.of(location), values); - } - - private InListExpression(Optional location, List values) { super(location); - requireNonNull(values, "values is null"); checkArgument(!values.isEmpty(), "values cannot be empty"); this.values = ImmutableList.copyOf(values); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/InPredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/InPredicate.java index 62439dc5ba99b8..f71c7e95f76970 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/InPredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/InPredicate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; public class InPredicate extends Expression @@ -25,17 +24,7 @@ public class InPredicate private final Expression value; private final Expression valueList; - public InPredicate(Expression value, Expression valueList) - { - this(Optional.empty(), value, valueList); - } - public InPredicate(NodeLocation location, Expression value, Expression valueList) - { - this(Optional.of(location), value, valueList); - } - - private InPredicate(Optional location, Expression value, Expression valueList) { super(location); this.value = value; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Insert.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Insert.java index 2058bf24320b3f..9a3214c278fa56 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Insert.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Insert.java @@ -29,12 +29,16 @@ public final class Insert private final Query query; private final Optional> columns; + @Deprecated public Insert(Table table, Optional> columns, Query query) { - this(Optional.empty(), table, columns, query); + super(Optional.empty()); + this.table = requireNonNull(table, "target is null"); + this.columns = requireNonNull(columns, "columns is null"); + this.query = requireNonNull(query, "query is null"); } - private Insert(Optional location, Table table, Optional> columns, Query query) + public Insert(NodeLocation location, Table table, Optional> columns, Query query) { super(location); this.table = requireNonNull(table, "target is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/IntervalLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/IntervalLiteral.java index 05f4b07f3e6f59..08c44d1e0b51f5 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/IntervalLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/IntervalLiteral.java @@ -51,11 +51,13 @@ public enum IntervalField private final IntervalField startField; private final Optional endField; + @Deprecated public IntervalLiteral(String value, Sign sign, IntervalField startField) { this(Optional.empty(), value, sign, startField, Optional.empty()); } + @Deprecated public IntervalLiteral(String value, Sign sign, IntervalField startField, Optional endField) { this(Optional.empty(), value, sign, startField, endField); @@ -63,7 +65,11 @@ public IntervalLiteral(String value, Sign sign, IntervalField startField, Option public IntervalLiteral(NodeLocation location, String value, Sign sign, IntervalField startField, Optional endField) { - this(Optional.of(location), value, sign, startField, endField); + super(location); + this.value = requireNonNull(value, "value is null"); + this.sign = requireNonNull(sign, "sign is null"); + this.startField = requireNonNull(startField, "startField is null"); + this.endField = requireNonNull(endField, "endField is null"); } private IntervalLiteral(Optional location, String value, Sign sign, IntervalField startField, Optional endField) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/IsNotNullPredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/IsNotNullPredicate.java index 3a1b5ef91eb5e2..9be677eb02ad10 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/IsNotNullPredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/IsNotNullPredicate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -26,21 +25,10 @@ public class IsNotNullPredicate { private final Expression value; - public IsNotNullPredicate(Expression value) - { - this(Optional.empty(), value); - } - public IsNotNullPredicate(NodeLocation location, Expression value) - { - this(Optional.of(location), value); - } - - private IsNotNullPredicate(Optional location, Expression value) { super(location); - requireNonNull(value, "value is null"); - this.value = value; + this.value = requireNonNull(value, "value is null"); } public Expression getValue() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/IsNullPredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/IsNullPredicate.java index 292436f06409c7..189ac939f11b86 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/IsNullPredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/IsNullPredicate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -26,21 +25,10 @@ public class IsNullPredicate { private final Expression value; - public IsNullPredicate(Expression value) - { - this(Optional.empty(), value); - } - public IsNullPredicate(NodeLocation location, Expression value) - { - this(Optional.of(location), value); - } - - private IsNullPredicate(Optional location, Expression value) { super(location); - requireNonNull(value, "value is null"); - this.value = value; + this.value = requireNonNull(value, "value is null"); } public Expression getValue() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Isolation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Isolation.java index 4a1d06817da63d..427391680281a2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Isolation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Isolation.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -50,7 +49,7 @@ public String getText() public Isolation(NodeLocation location, Level level) { - super(Optional.of(location)); + super(location); this.level = requireNonNull(level, "level is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArray.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArray.java index 93c954bf8cc491..d18c11beba3522 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArray.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArray.java @@ -30,7 +30,7 @@ public class JsonArray private final Optional returnedType; private final Optional outputFormat; - public JsonArray(Optional location, List elements, boolean nullOnNull, Optional returnedType, Optional outputFormat) + public JsonArray(NodeLocation location, List elements, boolean nullOnNull, Optional returnedType, Optional outputFormat) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArrayElement.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArrayElement.java index 9d63e0881b35ba..9f1318cec1ce00 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArrayElement.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonArrayElement.java @@ -31,12 +31,13 @@ public class JsonArrayElement public JsonArrayElement(NodeLocation location, Expression value, Optional format) { - this(Optional.of(location), value, format); - } + super(location); - public JsonArrayElement(Expression value, Optional format) - { - this(Optional.empty(), value, format); + requireNonNull(value, "value is null"); + requireNonNull(format, "format is null"); + + this.value = value; + this.format = format; } public JsonArrayElement(Optional location, Expression value, Optional format) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonExists.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonExists.java index ed6a2e889666ca..31f7cd0ac56d44 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonExists.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonExists.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -28,7 +27,7 @@ public class JsonExists private final ErrorBehavior errorBehavior; public JsonExists( - Optional location, + NodeLocation location, JsonPathInvocation jsonPathInvocation, ErrorBehavior errorBehavior) { diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObject.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObject.java index 7da7ae2cb3ee3e..dcd66c42f95317 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObject.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObject.java @@ -31,7 +31,7 @@ public class JsonObject private final Optional returnedType; private final Optional outputFormat; - public JsonObject(Optional location, List members, boolean nullOnNull, boolean uniqueKeys, Optional returnedType, Optional outputFormat) + public JsonObject(NodeLocation location, List members, boolean nullOnNull, boolean uniqueKeys, Optional returnedType, Optional outputFormat) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObjectMember.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObjectMember.java index e4f9c675fa3421..8e7b8b22191e50 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObjectMember.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonObjectMember.java @@ -31,16 +31,6 @@ public class JsonObjectMember private final Optional format; public JsonObjectMember(NodeLocation location, Expression key, Expression value, Optional format) - { - this(Optional.of(location), key, value, format); - } - - public JsonObjectMember(Expression key, Expression value, Optional format) - { - this(Optional.empty(), key, value, format); - } - - private JsonObjectMember(Optional location, Expression key, Expression value, Optional format) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathInvocation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathInvocation.java index da3ec5264ba208..9401487d7450ba 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathInvocation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathInvocation.java @@ -33,7 +33,7 @@ public class JsonPathInvocation private final List pathParameters; public JsonPathInvocation( - Optional location, + NodeLocation location, Expression inputExpression, JsonFormat inputFormat, StringLiteral jsonPath, diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathParameter.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathParameter.java index 44042a4143243d..2e08e47ca28295 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathParameter.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonPathParameter.java @@ -29,7 +29,7 @@ public class JsonPathParameter private final Expression parameter; private final Optional format; - public JsonPathParameter(Optional location, Identifier name, Expression parameter, Optional format) + public JsonPathParameter(NodeLocation location, Identifier name, Expression parameter, Optional format) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonQuery.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonQuery.java index 358acc0c535e43..3abbd4af587964 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonQuery.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonQuery.java @@ -34,7 +34,7 @@ public class JsonQuery private final EmptyOrErrorBehavior errorBehavior; public JsonQuery( - Optional location, + NodeLocation location, JsonPathInvocation jsonPathInvocation, Optional returnedType, Optional outputFormat, diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTableColumnDefinition.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTableColumnDefinition.java index 0f33ae12c4da54..7ffd74a4c73063 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTableColumnDefinition.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTableColumnDefinition.java @@ -13,13 +13,11 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract class JsonTableColumnDefinition extends Node { protected JsonTableColumnDefinition(NodeLocation location) { - super(Optional.of(location)); + super(location); } } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTablePlan.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTablePlan.java index 88d963cae1178b..af67584423e755 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTablePlan.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonTablePlan.java @@ -13,14 +13,12 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract class JsonTablePlan extends Node { protected JsonTablePlan(NodeLocation location) { - super(Optional.of(location)); + super(location); } public enum ParentChildPlanType diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonValue.java b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonValue.java index df147004cb6e71..4620e51344e908 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/JsonValue.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/JsonValue.java @@ -34,7 +34,7 @@ public class JsonValue private final Optional errorDefault; public JsonValue( - Optional location, + NodeLocation location, JsonPathInvocation jsonPathInvocation, Optional returnedType, EmptyOrErrorBehavior emptyBehavior, diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaArgumentDeclaration.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaArgumentDeclaration.java index 78de3b4e85cb77..f1a561f8b6f5ae 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaArgumentDeclaration.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaArgumentDeclaration.java @@ -24,6 +24,13 @@ public class LambdaArgumentDeclaration { private final Identifier name; + public LambdaArgumentDeclaration(NodeLocation location, Identifier name) + { + super(location); + this.name = name; + } + + @Deprecated public LambdaArgumentDeclaration(Identifier name) { super(Optional.empty()); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaExpression.java index de06cb405ffed3..a80eb77f8c3976 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LambdaExpression.java @@ -27,14 +27,11 @@ public class LambdaExpression private final List arguments; private final Expression body; - public LambdaExpression(List arguments, Expression body) - { - this(Optional.empty(), arguments, body); - } - public LambdaExpression(NodeLocation location, List arguments, Expression body) { - this(Optional.of(location), arguments, body); + super(location); + this.arguments = requireNonNull(arguments, "arguments is null"); + this.body = requireNonNull(body, "body is null"); } private LambdaExpression(Optional location, List arguments, Expression body) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LanguageCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LanguageCharacteristic.java index bf2123b51ebf0e..d49b341c12e0cb 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LanguageCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LanguageCharacteristic.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -28,7 +27,7 @@ public final class LanguageCharacteristic public LanguageCharacteristic(NodeLocation location, Identifier language) { - super(Optional.of(location)); + super(location); this.language = requireNonNull(language, "comment is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LikePredicate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LikePredicate.java index 984aa778f8b026..4f4aa29c7d2867 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LikePredicate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LikePredicate.java @@ -28,31 +28,27 @@ public class LikePredicate private final Expression pattern; private final Optional escape; + @Deprecated public LikePredicate(Expression value, Expression pattern, Expression escape) { - this(Optional.empty(), value, pattern, Optional.of(escape)); + this(value, pattern, Optional.of(escape)); } public LikePredicate(NodeLocation location, Expression value, Expression pattern, Optional escape) { - this(Optional.of(location), value, pattern, escape); + super(location); + this.value = requireNonNull(value, "value is null"); + this.pattern = requireNonNull(pattern, "pattern is null"); + this.escape = requireNonNull(escape, "escape is null"); } + @Deprecated public LikePredicate(Expression value, Expression pattern, Optional escape) { - this(Optional.empty(), value, pattern, escape); - } - - private LikePredicate(Optional location, Expression value, Expression pattern, Optional escape) - { - super(location); - requireNonNull(value, "value is null"); - requireNonNull(pattern, "pattern is null"); - requireNonNull(escape, "escape is null"); - - this.value = value; - this.pattern = pattern; - this.escape = escape; + super(Optional.empty()); + this.value = requireNonNull(value, "value is null"); + this.pattern = requireNonNull(pattern, "pattern is null"); + this.escape = requireNonNull(escape, "escape is null"); } public Expression getValue() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Limit.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Limit.java index 2a5762eb602597..1564a491c4cdea 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Limit.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Limit.java @@ -27,6 +27,7 @@ public class Limit { private final Expression rowCount; + @Deprecated public Limit(Expression rowCount) { this(Optional.empty(), rowCount); @@ -37,7 +38,7 @@ public Limit(NodeLocation location, Expression rowCount) this(Optional.of(location), rowCount); } - public Limit(Optional location, Expression rowCount) + private Limit(Optional location, Expression rowCount) { super(location); checkArgument( diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Literal.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Literal.java index 8bc8bb963a8094..aaa77d9c457763 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Literal.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Literal.java @@ -21,6 +21,12 @@ public abstract class Literal extends Expression { + protected Literal(NodeLocation location) + { + super(location); + } + + @Deprecated protected Literal(Optional location) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTime.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTime.java index 3bdd3356bd5828..2338b2b122c7fa 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTime.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTime.java @@ -38,7 +38,7 @@ public LocalTime(NodeLocation location) private LocalTime(NodeLocation location, Optional precision) { - super(Optional.of(location)); + super(location); requireNonNull(precision, "precision is null"); this.precision = precision; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTimestamp.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTimestamp.java index fc77f711a55b5c..e77f99391e3f8c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTimestamp.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LocalTimestamp.java @@ -38,7 +38,7 @@ public LocalTimestamp(NodeLocation location) private LocalTimestamp(NodeLocation location, Optional precision) { - super(Optional.of(location)); + super(location); requireNonNull(precision, "precision is null"); this.precision = precision; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LogicalExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LogicalExpression.java index 9af5ba870139f0..cdad969d3bd5d7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LogicalExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LogicalExpression.java @@ -41,14 +41,13 @@ public Operator flip() private final Operator operator; private final List terms; - public LogicalExpression(Operator operator, List terms) - { - this(Optional.empty(), operator, terms); - } - public LogicalExpression(NodeLocation location, Operator operator, List terms) { - this(Optional.of(location), operator, terms); + super(location); + checkArgument(terms.size() >= 2, "Expected at least 2 terms"); + + this.operator = requireNonNull(operator, "operator is null"); + this.terms = ImmutableList.copyOf(terms); } private LogicalExpression(Optional location, Operator operator, List terms) diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/LongLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/LongLiteral.java index a071d77c762942..0ef8289ccbcd20 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/LongLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/LongLiteral.java @@ -25,6 +25,7 @@ public class LongLiteral private final String value; private final long parsedValue; + @Deprecated public LongLiteral(String value) { this(Optional.empty(), value); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/MeasureDefinition.java b/core/trino-parser/src/main/java/io/trino/sql/tree/MeasureDefinition.java index c498c050b61d14..0f8bb38a71dde4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/MeasureDefinition.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/MeasureDefinition.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class MeasureDefinition public MeasureDefinition(NodeLocation location, Expression expression, Identifier name) { - super(Optional.of(location)); + super(location); this.expression = requireNonNull(expression, "expression is null"); this.name = requireNonNull(name, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Merge.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Merge.java index a9032164f5ad08..b957c0d4ce6ea0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Merge.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Merge.java @@ -38,7 +38,7 @@ public Merge( Expression predicate, List mergeCases) { - super(Optional.of(location)); + super(location); // Check that the target is either a Table or an AliasedRelation this.target = requireNonNull(target, "target is null"); checkArgument(target instanceof Table || target instanceof AliasedRelation, "target (%s) is neither a Table nor an AliasedRelation", target); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeCase.java b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeCase.java index 6d7a5cb02d6007..a7363c12ca7cd5 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeCase.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeCase.java @@ -23,6 +23,13 @@ public abstract class MergeCase { protected final Optional expression; + protected MergeCase(NodeLocation location, Optional expression) + { + super(location); + this.expression = requireNonNull(expression, "expression is null"); + } + + @Deprecated protected MergeCase(Optional location, Optional expression) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeDelete.java b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeDelete.java index fe094887df54d4..8fa74d715b2cb8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeDelete.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeDelete.java @@ -24,17 +24,13 @@ public class MergeDelete extends MergeCase { + @Deprecated public MergeDelete(Optional expression) { - this(Optional.empty(), expression); + super(Optional.empty(), expression); } public MergeDelete(NodeLocation location, Optional expression) - { - super(Optional.of(location), expression); - } - - public MergeDelete(Optional location, Optional expression) { super(location, expression); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeInsert.java b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeInsert.java index 74ccead2cd45f3..c0134cbb903a75 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeInsert.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeInsert.java @@ -28,17 +28,15 @@ public class MergeInsert private final List columns; private final List values; + @Deprecated public MergeInsert(Optional expression, List columns, List values) { - this(Optional.empty(), expression, columns, values); + super(Optional.empty(), expression); + this.columns = ImmutableList.copyOf(requireNonNull(columns, "columns is null")); + this.values = ImmutableList.copyOf(requireNonNull(values, "values is null")); } public MergeInsert(NodeLocation location, Optional expression, List columns, List values) - { - this(Optional.of(location), expression, columns, values); - } - - public MergeInsert(Optional location, Optional expression, List columns, List values) { super(location, expression); this.columns = ImmutableList.copyOf(requireNonNull(columns, "columns is null")); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeUpdate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeUpdate.java index 806b44473b52b2..1cd6f5a555ef9a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/MergeUpdate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/MergeUpdate.java @@ -28,17 +28,14 @@ public class MergeUpdate { private final List assignments; + @Deprecated public MergeUpdate(Optional expression, List assignments) { - this(Optional.empty(), expression, assignments); + super(Optional.empty(), expression); + this.assignments = ImmutableList.copyOf(requireNonNull(assignments, "assignments is null")); } public MergeUpdate(NodeLocation location, Optional expression, List assignments) - { - this(Optional.of(location), expression, assignments); - } - - public MergeUpdate(Optional location, Optional expression, List assignments) { super(location, expression); this.assignments = ImmutableList.copyOf(requireNonNull(assignments, "assignments is null")); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Node.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Node.java index e550c5310a86b7..7e1549823da218 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Node.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Node.java @@ -22,11 +22,17 @@ public abstract class Node { private final Optional location; + @Deprecated protected Node(Optional location) { this.location = requireNonNull(location, "location is null"); } + protected Node(NodeLocation location) + { + this.location = Optional.ofNullable(location); + } + /** * Accessible for {@link AstVisitor}, use {@link AstVisitor#process(Node, Object)} instead. */ diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/NotExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/NotExpression.java index 0ceb9a8e8f7910..ab2b9f0ef4b815 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/NotExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/NotExpression.java @@ -26,21 +26,17 @@ public class NotExpression { private final Expression value; + @Deprecated public NotExpression(Expression value) { - this(Optional.empty(), value); + super(Optional.empty()); + this.value = requireNonNull(value, "value is null"); } public NotExpression(NodeLocation location, Expression value) - { - this(Optional.of(location), value); - } - - private NotExpression(Optional location, Expression value) { super(location); - requireNonNull(value, "value is null"); - this.value = value; + this.value = requireNonNull(value, "value is null"); } public Expression getValue() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/NullIfExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/NullIfExpression.java index 272f2e9027de63..e8c7ba4f63808a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/NullIfExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/NullIfExpression.java @@ -17,7 +17,8 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; + +import static java.util.Objects.requireNonNull; /** * NULLIF(V1,V2): CASE WHEN V1=V2 THEN NULL ELSE V1 END @@ -28,21 +29,11 @@ public class NullIfExpression private final Expression first; private final Expression second; - public NullIfExpression(Expression first, Expression second) - { - this(Optional.empty(), first, second); - } - public NullIfExpression(NodeLocation location, Expression first, Expression second) - { - this(Optional.of(location), first, second); - } - - private NullIfExpression(Optional location, Expression first, Expression second) { super(location); - this.first = first; - this.second = second; + this.first = requireNonNull(first, "first is null"); + this.second = requireNonNull(second, "second is null"); } public Expression getFirst() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/NullInputCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/NullInputCharacteristic.java index ab69f12bf2c182..48777c2ed60704 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/NullInputCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/NullInputCharacteristic.java @@ -24,6 +24,7 @@ public final class NullInputCharacteristic extends RoutineCharacteristic { + @Deprecated public static NullInputCharacteristic returnsNullOnNullInput() { return new NullInputCharacteristic(Optional.empty(), false); @@ -31,9 +32,10 @@ public static NullInputCharacteristic returnsNullOnNullInput() public static NullInputCharacteristic returnsNullOnNullInput(NodeLocation location) { - return new NullInputCharacteristic(Optional.of(location), false); + return new NullInputCharacteristic(location, false); } + @Deprecated public static NullInputCharacteristic calledOnNullInput() { return new NullInputCharacteristic(Optional.empty(), true); @@ -41,7 +43,7 @@ public static NullInputCharacteristic calledOnNullInput() public static NullInputCharacteristic calledOnNullInput(NodeLocation location) { - return new NullInputCharacteristic(Optional.of(location), true); + return new NullInputCharacteristic(location, true); } private final boolean calledOnNull; @@ -52,6 +54,12 @@ private NullInputCharacteristic(Optional location, boolean calledO this.calledOnNull = calledOnNull; } + private NullInputCharacteristic(NodeLocation location, boolean calledOnNull) + { + super(location); + this.calledOnNull = calledOnNull; + } + public boolean isCalledOnNull() { return calledOnNull; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/NullLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/NullLiteral.java index 3186fdc38279a9..a83319238df70f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/NullLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/NullLiteral.java @@ -18,6 +18,7 @@ public class NullLiteral extends Literal { + @Deprecated public NullLiteral() { super(Optional.empty()); @@ -25,7 +26,7 @@ public NullLiteral() public NullLiteral(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Offset.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Offset.java index bb8160214f017b..8f66af2c25856f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Offset.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Offset.java @@ -27,6 +27,7 @@ public class Offset { private final Expression rowCount; + @Deprecated public Offset(Expression rowCount) { this(Optional.empty(), rowCount); @@ -37,7 +38,7 @@ public Offset(NodeLocation location, Expression rowCount) this(Optional.of(location), rowCount); } - public Offset(Optional location, Expression rowCount) + private Offset(Optional location, Expression rowCount) { super(location); checkArgument(rowCount instanceof LongLiteral || rowCount instanceof Parameter, diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/OneOrMoreQuantifier.java b/core/trino-parser/src/main/java/io/trino/sql/tree/OneOrMoreQuantifier.java index b2c1ec70ac221e..25476d05627792 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/OneOrMoreQuantifier.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/OneOrMoreQuantifier.java @@ -13,14 +13,12 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public class OneOrMoreQuantifier extends PatternQuantifier { public OneOrMoreQuantifier(NodeLocation location, boolean greedy) { - super(Optional.of(location), greedy); + super(location, greedy); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/OrderBy.java b/core/trino-parser/src/main/java/io/trino/sql/tree/OrderBy.java index ab8f8acc5378af..15c0b32e9759b8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/OrderBy.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/OrderBy.java @@ -28,17 +28,16 @@ public class OrderBy { private final List sortItems; + @Deprecated public OrderBy(List sortItems) { - this(Optional.empty(), sortItems); + super(Optional.empty()); + requireNonNull(sortItems, "sortItems is null"); + checkArgument(!sortItems.isEmpty(), "sortItems should not be empty"); + this.sortItems = ImmutableList.copyOf(sortItems); } public OrderBy(NodeLocation location, List sortItems) - { - this(Optional.of(location), sortItems); - } - - private OrderBy(Optional location, List sortItems) { super(location); requireNonNull(sortItems, "sortItems is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Parameter.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Parameter.java index 5c5e65234c65d0..1d1d571907c068 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Parameter.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Parameter.java @@ -23,17 +23,14 @@ public class Parameter { private final int id; + @Deprecated public Parameter(int id) { - this(Optional.empty(), id); + super(Optional.empty()); + this.id = id; } public Parameter(NodeLocation location, int id) - { - this(Optional.of(location), id); - } - - private Parameter(Optional location, int id) { super(location); this.id = id; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ParameterDeclaration.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ParameterDeclaration.java index afccf350d47c05..4b00cf62834d19 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ParameterDeclaration.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ParameterDeclaration.java @@ -28,17 +28,15 @@ public final class ParameterDeclaration private final Optional name; private final DataType type; + @Deprecated public ParameterDeclaration(Optional name, DataType type) { - this(Optional.empty(), name, type); + super(Optional.empty()); + this.name = requireNonNull(name, "name is null"); + this.type = requireNonNull(type, "type is null"); } public ParameterDeclaration(NodeLocation location, Optional name, DataType type) - { - this(Optional.of(location), name, type); - } - - private ParameterDeclaration(Optional location, Optional name, DataType type) { super(location); this.name = requireNonNull(name, "name is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PathElement.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PathElement.java index bf3f4669cc7192..5c90af89899c00 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PathElement.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PathElement.java @@ -29,7 +29,7 @@ public final class PathElement public PathElement(NodeLocation location, Optional catalog, Identifier schema) { - super(Optional.of(location)); + super(location); this.catalog = requireNonNull(catalog, "catalog is null"); this.schema = requireNonNull(schema, "schema is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PathSpecification.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PathSpecification.java index 67f2bdc306c4f7..d684890605d339 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PathSpecification.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PathSpecification.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public final class PathSpecification public PathSpecification(NodeLocation location, List path) { - super(Optional.of(location)); + super(location); this.path = ImmutableList.copyOf(requireNonNull(path, "path is null")); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternAlternation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternAlternation.java index 17e8395f6887f7..f3c05495f9dbf6 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternAlternation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternAlternation.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkArgument; @@ -30,7 +29,7 @@ public class PatternAlternation public PatternAlternation(NodeLocation location, List patterns) { - super(Optional.of(location)); + super(location); this.patterns = requireNonNull(patterns, "patterns is null"); checkArgument(!patterns.isEmpty(), "patterns list is empty"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternConcatenation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternConcatenation.java index 33e6388ed93a09..60f134e1a3a3e0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternConcatenation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternConcatenation.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkArgument; @@ -30,7 +29,7 @@ public class PatternConcatenation public PatternConcatenation(NodeLocation location, List patterns) { - super(Optional.of(location)); + super(location); this.patterns = requireNonNull(patterns, "patterns is null"); checkArgument(!patterns.isEmpty(), "patterns list is empty"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternPermutation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternPermutation.java index 8ee301dc3e4717..40938084d61d98 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternPermutation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternPermutation.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkArgument; @@ -30,7 +29,7 @@ public class PatternPermutation public PatternPermutation(NodeLocation location, List patterns) { - super(Optional.of(location)); + super(location); this.patterns = requireNonNull(patterns, "patterns is null"); checkArgument(!patterns.isEmpty(), "patterns list is empty"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternQuantifier.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternQuantifier.java index a66e0e9e469042..e5055236648e90 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternQuantifier.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternQuantifier.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -26,7 +25,7 @@ public abstract class PatternQuantifier { private final boolean greedy; - protected PatternQuantifier(Optional location, boolean greedy) + protected PatternQuantifier(NodeLocation location, boolean greedy) { super(location); this.greedy = greedy; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternSearchMode.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternSearchMode.java index 94ed56ced3bef0..06081a3ce48694 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternSearchMode.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternSearchMode.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public final class PatternSearchMode public PatternSearchMode(NodeLocation location, Mode mode) { - super(Optional.of(location)); + super(location); this.mode = requireNonNull(mode, "mode is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternVariable.java b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternVariable.java index 8153b14879ed00..13cc313ec8c3fa 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/PatternVariable.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/PatternVariable.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public class PatternVariable public PatternVariable(NodeLocation location, Identifier name) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Prepare.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Prepare.java index 9709da7888c2fe..f1adae6e012616 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Prepare.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Prepare.java @@ -30,17 +30,15 @@ public class Prepare public Prepare(NodeLocation location, Identifier name, Statement statement) { - this(Optional.of(location), name, statement); + super(location); + this.name = requireNonNull(name, "name is null"); + this.statement = requireNonNull(statement, "statement is null"); } + @Deprecated public Prepare(Identifier name, Statement statement) { - this(Optional.empty(), name, statement); - } - - private Prepare(Optional location, Identifier name, Statement statement) - { - super(location); + super(Optional.empty()); this.name = requireNonNull(name, "name is null"); this.statement = requireNonNull(statement, "statement is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ProcessingMode.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ProcessingMode.java index b6df1b65d62e70..c85dca5409f398 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ProcessingMode.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ProcessingMode.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public final class ProcessingMode public ProcessingMode(NodeLocation location, Mode mode) { - super(Optional.of(location)); + super(location); this.mode = requireNonNull(mode, "mode is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Property.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Property.java index 440fa142c40d7e..41f9864697bf57 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Property.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Property.java @@ -33,6 +33,7 @@ public class Property /** * Constructs an instance representing a property whose value is set to DEFAULT */ + @Deprecated public Property(Identifier name) { this(Optional.empty(), name, Optional.empty()); @@ -46,6 +47,7 @@ public Property(NodeLocation location, Identifier name) this(Optional.of(requireNonNull(location, "location is null")), name, Optional.empty()); } + @Deprecated public Property(Identifier name, Expression value) { this(Optional.empty(), name, Optional.of(requireNonNull(value, "value is null"))); @@ -59,11 +61,6 @@ public Property(NodeLocation location, Identifier name, Expression value) Optional.of(requireNonNull(value, "value is null"))); } - public Property(Optional location, Identifier name, Expression value) - { - this(location, name, Optional.of(requireNonNull(value, "value is null"))); - } - private Property(Optional location, Identifier name, Optional value) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedComparisonExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedComparisonExpression.java index 10ef15623fc71e..1dccb00118efe7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedComparisonExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedComparisonExpression.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -36,17 +35,7 @@ public enum Quantifier private final Expression value; private final Expression subquery; - public QuantifiedComparisonExpression(ComparisonExpression.Operator operator, Quantifier quantifier, Expression value, Expression subquery) - { - this(Optional.empty(), operator, quantifier, value, subquery); - } - public QuantifiedComparisonExpression(NodeLocation location, ComparisonExpression.Operator operator, Quantifier quantifier, Expression value, Expression subquery) - { - this(Optional.of(location), operator, quantifier, value, subquery); - } - - private QuantifiedComparisonExpression(Optional location, ComparisonExpression.Operator operator, Quantifier quantifier, Expression value, Expression subquery) { super(location); this.operator = requireNonNull(operator, "operator is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedPattern.java b/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedPattern.java index 32d9bce5d36db1..9f781e084fb48d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedPattern.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/QuantifiedPattern.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class QuantifiedPattern public QuantifiedPattern(NodeLocation location, RowPattern pattern, PatternQuantifier patternQuantifier) { - super(Optional.of(location)); + super(location); this.pattern = requireNonNull(pattern, "pattern is null"); this.patternQuantifier = requireNonNull(patternQuantifier, "patternQuantifier is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Query.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Query.java index 31f8da6698bfdb..a803ee25f3e323 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Query.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Query.java @@ -33,6 +33,7 @@ public class Query private final Optional offset; private final Optional limit; + @Deprecated public Query( List functions, Optional with, diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/QueryPeriod.java b/core/trino-parser/src/main/java/io/trino/sql/tree/QueryPeriod.java index 4a23ffa8140583..72834ac50110b0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/QueryPeriod.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/QueryPeriod.java @@ -41,7 +41,7 @@ public QueryPeriod(NodeLocation location, RangeType rangeType, Expression end) private QueryPeriod(NodeLocation location, RangeType rangeType, Optional start, Optional end) { - super(Optional.of(location)); + super(location); this.rangeType = requireNonNull(rangeType, "rangeType is null"); this.start = start; this.end = end; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RangeQuantifier.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RangeQuantifier.java index 4e0c14d3a771d5..6dc90f49f5ca92 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RangeQuantifier.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RangeQuantifier.java @@ -30,7 +30,7 @@ public class RangeQuantifier public RangeQuantifier(NodeLocation location, boolean greedy, Optional atLeast, Optional atMost) { - super(Optional.of(location), greedy); + super(location, greedy); this.atLeast = requireNonNull(atLeast, "atLeast is null"); this.atMost = requireNonNull(atMost, "atMost is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RefreshMaterializedView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RefreshMaterializedView.java index 1d3a8e5578401e..a6809f5be95953 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RefreshMaterializedView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RefreshMaterializedView.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public final class RefreshMaterializedView public RefreshMaterializedView(NodeLocation location, Table table) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameColumn.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameColumn.java index e6f9283569fc1f..b601c09fc8b2f2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameColumn.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameColumn.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -33,7 +32,7 @@ public class RenameColumn public RenameColumn(NodeLocation location, QualifiedName table, QualifiedName source, Identifier target, boolean tableExists, boolean columnExists) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.source = requireNonNull(source, "source is null"); this.target = requireNonNull(target, "target is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameMaterializedView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameMaterializedView.java index 2ba900156a66bc..736485e022ba87 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameMaterializedView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameMaterializedView.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public final class RenameMaterializedView public RenameMaterializedView(NodeLocation location, QualifiedName source, QualifiedName target, boolean exists) { - super(Optional.of(location)); + super(location); this.source = requireNonNull(source, "source name is null"); this.target = requireNonNull(target, "target name is null"); this.exists = exists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameSchema.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameSchema.java index 0e2c34911b832e..c1e5f9fe5a66e9 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameSchema.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameSchema.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class RenameSchema public RenameSchema(NodeLocation location, QualifiedName source, Identifier target) { - super(Optional.of(location)); + super(location); this.source = requireNonNull(source, "source is null"); this.target = requireNonNull(target, "target is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameTable.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameTable.java index fb055b4206eacc..83d9a6b3bbc8e0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameTable.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameTable.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -31,7 +30,7 @@ public final class RenameTable public RenameTable(NodeLocation location, QualifiedName source, QualifiedName target, boolean exists) { - super(Optional.of(location)); + super(location); this.source = requireNonNull(source, "source name is null"); this.target = requireNonNull(target, "target name is null"); this.exists = exists; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameView.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameView.java index 227c79a3b4f0ff..f49b167892aa55 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RenameView.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RenameView.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class RenameView public RenameView(NodeLocation location, QualifiedName source, QualifiedName target) { - super(Optional.of(location)); + super(location); this.source = requireNonNull(source, "source name is null"); this.target = requireNonNull(target, "target name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSession.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSession.java index bdd2c1e4a628af..3ef4ced1bb1087 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSession.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSession.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public class ResetSession public ResetSession(NodeLocation location, QualifiedName name) { - super(Optional.of(location)); + super(location); this.name = name; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSessionAuthorization.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSessionAuthorization.java index a4672fcac5a78f..e2d5ce4a764da4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSessionAuthorization.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ResetSessionAuthorization.java @@ -16,14 +16,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public class ResetSessionAuthorization extends Statement { public ResetSessionAuthorization(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ReturnsClause.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ReturnsClause.java index 03798ebabd22c8..0151c533d50fcb 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ReturnsClause.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ReturnsClause.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -28,7 +27,7 @@ public final class ReturnsClause public ReturnsClause(NodeLocation location, DataType returnType) { - super(Optional.of(location)); + super(location); this.returnType = requireNonNull(returnType, "returnType is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Revoke.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Revoke.java index 2da8172061e7cb..ec151b1fc0d568 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Revoke.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Revoke.java @@ -32,7 +32,7 @@ public class Revoke public Revoke(NodeLocation location, boolean grantOptionFor, Optional> privileges, GrantObject grantObject, PrincipalSpecification grantee) { - super(Optional.of(location)); + super(location); this.grantOptionFor = grantOptionFor; requireNonNull(privileges, "privileges is null"); this.privileges = privileges.map(ImmutableList::copyOf); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RevokeRoles.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RevokeRoles.java index 9fd95400656827..e7e906e46a336d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RevokeRoles.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RevokeRoles.java @@ -41,7 +41,7 @@ public RevokeRoles( Optional grantor, Optional catalog) { - super(Optional.of(location)); + super(location); this.roles = ImmutableSet.copyOf(requireNonNull(roles, "roles is null")); this.grantees = ImmutableSet.copyOf(requireNonNull(grantees, "grantees is null")); this.adminOption = adminOption; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Rollback.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Rollback.java index 4ccd69921e5c3d..cb5e6b121c0a88 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Rollback.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Rollback.java @@ -17,14 +17,13 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; public final class Rollback extends Statement { public Rollback(NodeLocation location) { - super(Optional.of(location)); + super(location); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RoutineCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RoutineCharacteristic.java index 771428342d70e9..ce30372abef577 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RoutineCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RoutineCharacteristic.java @@ -19,6 +19,12 @@ public abstract sealed class RoutineCharacteristic extends Node permits CommentCharacteristic, DeterministicCharacteristic, LanguageCharacteristic, NullInputCharacteristic, SecurityCharacteristic { + protected RoutineCharacteristic(NodeLocation location) + { + super(location); + } + + @Deprecated protected RoutineCharacteristic(Optional location) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Row.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Row.java index b55d0b5759d0bc..cf49ca6ad57856 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Row.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Row.java @@ -19,27 +19,21 @@ import java.util.Objects; import java.util.Optional; -import static java.util.Objects.requireNonNull; - public final class Row extends Expression { private final List items; + @Deprecated public Row(List items) { - this(Optional.empty(), items); + super(Optional.empty()); + this.items = ImmutableList.copyOf(items); } public Row(NodeLocation location, List items) - { - this(Optional.of(location), items); - } - - private Row(Optional location, List items) { super(location); - requireNonNull(items, "items is null"); this.items = ImmutableList.copyOf(items); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RowDataType.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RowDataType.java index 89d2b82477d77b..e085db3c14f837 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RowDataType.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RowDataType.java @@ -82,12 +82,13 @@ public static class Field public Field(NodeLocation location, Optional name, DataType type) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.type = requireNonNull(type, "type is null"); } + @Deprecated public Field(Optional location, Optional name, DataType type) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/RowPattern.java b/core/trino-parser/src/main/java/io/trino/sql/tree/RowPattern.java index dc7833d1bf4625..f5def9c0cad65d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/RowPattern.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/RowPattern.java @@ -13,12 +13,10 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract class RowPattern extends Node { - protected RowPattern(Optional location) + protected RowPattern(NodeLocation location) { super(location); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SearchedCaseExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SearchedCaseExpression.java index 5147869a4e3b24..8bf69aa985f4d7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SearchedCaseExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SearchedCaseExpression.java @@ -27,23 +27,11 @@ public class SearchedCaseExpression private final List whenClauses; private final Optional defaultValue; - public SearchedCaseExpression(List whenClauses, Optional defaultValue) - { - this(Optional.empty(), whenClauses, defaultValue); - } - public SearchedCaseExpression(NodeLocation location, List whenClauses, Optional defaultValue) - { - this(Optional.of(location), whenClauses, defaultValue); - } - - private SearchedCaseExpression(Optional location, List whenClauses, Optional defaultValue) { super(location); - requireNonNull(whenClauses, "whenClauses is null"); - requireNonNull(defaultValue, "defaultValue is null"); this.whenClauses = ImmutableList.copyOf(whenClauses); - this.defaultValue = defaultValue; + this.defaultValue = requireNonNull(defaultValue, "defaultValue is null"); } public List getWhenClauses() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SecurityCharacteristic.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SecurityCharacteristic.java index 9359c42f2b0e67..92981e83d959a7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SecurityCharacteristic.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SecurityCharacteristic.java @@ -16,7 +16,6 @@ import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -33,7 +32,7 @@ public enum Security public SecurityCharacteristic(NodeLocation location, Security security) { - super(Optional.of(location)); + super(location); this.security = requireNonNull(security, "security is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Select.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Select.java index be69e847624a43..eb29587b1f908d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Select.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Select.java @@ -28,21 +28,19 @@ public class Select private final boolean distinct; private final List selectItems; + @Deprecated public Select(boolean distinct, List selectItems) { - this(Optional.empty(), distinct, selectItems); + super(Optional.empty()); + this.distinct = distinct; + this.selectItems = ImmutableList.copyOf(requireNonNull(selectItems, "selectItems")); } public Select(NodeLocation location, boolean distinct, List selectItems) - { - this(Optional.of(location), distinct, selectItems); - } - - private Select(Optional location, boolean distinct, List selectItems) { super(location); this.distinct = distinct; - this.selectItems = ImmutableList.copyOf(requireNonNull(selectItems, "selectItems")); + this.selectItems = ImmutableList.copyOf(selectItems); } public boolean isDistinct() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SelectItem.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SelectItem.java index eb803ecc5f896b..dea8794c228036 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SelectItem.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SelectItem.java @@ -18,6 +18,12 @@ public abstract class SelectItem extends Node { + protected SelectItem(NodeLocation location) + { + super(location); + } + + @Deprecated protected SelectItem(Optional location) { super(location); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetAuthorizationStatement.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetAuthorizationStatement.java index 6101115604a9ae..fc91629d96ae4c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetAuthorizationStatement.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetAuthorizationStatement.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public abstract class SetAuthorizationStatement public SetAuthorizationStatement(NodeLocation location, QualifiedName source, PrincipalSpecification principal) { - super(Optional.of(location)); + super(location); this.source = requireNonNull(source, "source is null"); this.principal = requireNonNull(principal, "principal is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetColumnType.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetColumnType.java index fba2cda960c20a..84cc9f03805444 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetColumnType.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetColumnType.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -32,7 +31,7 @@ public class SetColumnType public SetColumnType(NodeLocation location, QualifiedName tableName, QualifiedName columnName, DataType type, boolean tableExists) { - super(Optional.of(location)); + super(location); this.tableName = requireNonNull(tableName, "tableName is null"); this.columnName = requireNonNull(columnName, "columnName is null"); this.type = requireNonNull(type, "type is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetPath.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetPath.java index ac2a994a9f07db..365aeb9aa02882 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetPath.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetPath.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public class SetPath public SetPath(NodeLocation location, PathSpecification pathSpecification) { - super(Optional.of(location)); + super(location); this.pathSpecification = requireNonNull(pathSpecification, "pathSpecification is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetProperties.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetProperties.java index 540e3f7f8145c8..cc4a0257f1faff 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetProperties.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetProperties.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -36,7 +35,7 @@ public enum Type public SetProperties(NodeLocation location, Type type, QualifiedName name, List properties) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); this.name = requireNonNull(name, "name is null"); this.properties = ImmutableList.copyOf(requireNonNull(properties, "properties is null")); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetRole.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetRole.java index d0c5b1739f142e..ecc87b54eb3283 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetRole.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetRole.java @@ -36,7 +36,7 @@ public enum Type public SetRole(NodeLocation location, Type type, Optional role, Optional catalog) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); this.role = requireNonNull(role, "role is null"); this.catalog = requireNonNull(catalog, "catalog is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetSession.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetSession.java index 9d0ec61b10b5b1..918c38d15c090f 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetSession.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetSession.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -29,7 +28,7 @@ public class SetSession public SetSession(NodeLocation location, QualifiedName name, Expression value) { - super(Optional.of(location)); + super(location); this.name = name; this.value = value; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetSessionAuthorization.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetSessionAuthorization.java index dc9c89e94a5822..213a14d1bfafbc 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetSessionAuthorization.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetSessionAuthorization.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -29,7 +28,7 @@ public class SetSessionAuthorization public SetSessionAuthorization(NodeLocation location, Expression user) { - super(Optional.of(location)); + super(location); this.user = requireNonNull(user, "user is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SetTimeZone.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SetTimeZone.java index 881ce9e3f57f0a..84e6c12c7bcec5 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SetTimeZone.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SetTimeZone.java @@ -29,7 +29,7 @@ public class SetTimeZone public SetTimeZone(NodeLocation location, Optional timeZone) { - super(Optional.of(location)); + super(location); requireNonNull(timeZone, "timeZone is null"); this.timeZone = timeZone; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCatalogs.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCatalogs.java index 09ae4367d40de9..57bcd3aa663a5d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCatalogs.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCatalogs.java @@ -30,7 +30,7 @@ public final class ShowCatalogs public ShowCatalogs(NodeLocation location, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); this.likePattern = requireNonNull(likePattern, "likePattern is null"); this.escape = requireNonNull(escape, "escape is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowColumns.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowColumns.java index d1dac5dc46caf0..2da05133a2903c 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowColumns.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowColumns.java @@ -31,7 +31,7 @@ public class ShowColumns public ShowColumns(NodeLocation location, QualifiedName table, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.likePattern = requireNonNull(likePattern, "likePattern is null"); this.escape = requireNonNull(escape, "escape is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCreate.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCreate.java index b9d5a6d516d306..674cf3f569e22d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCreate.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowCreate.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -40,7 +39,7 @@ public enum Type public ShowCreate(NodeLocation location, Type type, QualifiedName name) { - super(Optional.of(location)); + super(location); this.type = requireNonNull(type, "type is null"); this.name = requireNonNull(name, "name is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowFunctions.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowFunctions.java index 6a270e5a42d815..0e3f1b0cfde3bc 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowFunctions.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowFunctions.java @@ -31,7 +31,7 @@ public final class ShowFunctions public ShowFunctions(NodeLocation location, Optional schema, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); this.schema = requireNonNull(schema, "schema is null"); this.likePattern = requireNonNull(likePattern, "likePattern is null"); this.escape = requireNonNull(escape, "escape is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowGrants.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowGrants.java index 1f70535995ad31..956148265e63e4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowGrants.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowGrants.java @@ -28,7 +28,7 @@ public class ShowGrants public ShowGrants(NodeLocation location, Optional grantObject) { - super(Optional.of(location)); + super(location); this.grantObject = grantObject == null ? Optional.empty() : grantObject; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoleGrants.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoleGrants.java index 2ea1e65e40826e..a73d05f85e9a25 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoleGrants.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoleGrants.java @@ -29,7 +29,7 @@ public class ShowRoleGrants public ShowRoleGrants(NodeLocation location, Optional catalog) { - super(Optional.of(location)); + super(location); this.catalog = requireNonNull(catalog, "catalog is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoles.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoles.java index 008ac959137bdb..11f7aa77610179 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoles.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowRoles.java @@ -30,7 +30,7 @@ public class ShowRoles public ShowRoles(NodeLocation location, Optional catalog, boolean current) { - super(Optional.of(location)); + super(location); this.catalog = requireNonNull(catalog, "catalog is null"); this.current = current; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSchemas.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSchemas.java index 2df2cd52d16bf4..321cc3e51fb0ea 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSchemas.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSchemas.java @@ -31,7 +31,7 @@ public class ShowSchemas public ShowSchemas(NodeLocation location, Optional catalog, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); this.catalog = requireNonNull(catalog, "catalog is null"); this.likePattern = requireNonNull(likePattern, "likePattern is null"); this.escape = requireNonNull(escape, "escape is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSession.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSession.java index 84f5cf6e6d63f9..7c1c6571da4ec8 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSession.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowSession.java @@ -30,7 +30,7 @@ public class ShowSession public ShowSession(NodeLocation location, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); this.likePattern = requireNonNull(likePattern, "likePattern is null"); this.escape = requireNonNull(escape, "escape is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowStats.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowStats.java index dcf7bacd771b6f..7cd8dbf93a87f4 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowStats.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowStats.java @@ -28,12 +28,14 @@ public class ShowStats private final Relation relation; @VisibleForTesting + @Deprecated public ShowStats(Relation relation) { - this(Optional.empty(), relation); + super(Optional.empty()); + this.relation = relation; } - public ShowStats(Optional location, Relation relation) + public ShowStats(NodeLocation location, Relation relation) { super(location); this.relation = relation; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowTables.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowTables.java index 6fc19726db87f0..e79963e1465245 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ShowTables.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ShowTables.java @@ -31,7 +31,7 @@ public class ShowTables public ShowTables(NodeLocation location, Optional schema, Optional likePattern, Optional escape) { - super(Optional.of(location)); + super(location); requireNonNull(schema, "schema is null"); requireNonNull(likePattern, "likePattern is null"); requireNonNull(escape, "escape is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SimpleCaseExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SimpleCaseExpression.java index d2b633269f9c57..566ac9ba30324d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SimpleCaseExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SimpleCaseExpression.java @@ -28,25 +28,12 @@ public class SimpleCaseExpression private final List whenClauses; private final Optional defaultValue; - public SimpleCaseExpression(Expression operand, List whenClauses, Optional defaultValue) - { - this(Optional.empty(), operand, whenClauses, defaultValue); - } - public SimpleCaseExpression(NodeLocation location, Expression operand, List whenClauses, Optional defaultValue) - { - this(Optional.of(location), operand, whenClauses, defaultValue); - } - - private SimpleCaseExpression(Optional location, Expression operand, List whenClauses, Optional defaultValue) { super(location); - requireNonNull(operand, "operand is null"); - requireNonNull(whenClauses, "whenClauses is null"); - - this.operand = operand; + this.operand = requireNonNull(operand, "operand is null"); this.whenClauses = ImmutableList.copyOf(whenClauses); - this.defaultValue = defaultValue; + this.defaultValue = requireNonNull(defaultValue, "defaultValue is null"); } public Expression getOperand() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SingleColumn.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SingleColumn.java index e167aed8d7eb00..743c2c067446d0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SingleColumn.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SingleColumn.java @@ -27,34 +27,27 @@ public class SingleColumn private final Optional alias; private final Expression expression; + @Deprecated public SingleColumn(Expression expression) { - this(Optional.empty(), expression, Optional.empty()); - } - - public SingleColumn(Expression expression, Optional alias) - { - this(Optional.empty(), expression, alias); + super(Optional.empty()); + this.expression = requireNonNull(expression, "expression is null"); + this.alias = Optional.empty(); } + @Deprecated public SingleColumn(Expression expression, Identifier alias) { - this(Optional.empty(), expression, Optional.of(alias)); + super(Optional.empty()); + this.expression = requireNonNull(expression, "expression is null"); + this.alias = Optional.of(alias); } public SingleColumn(NodeLocation location, Expression expression, Optional alias) - { - this(Optional.of(location), expression, alias); - } - - private SingleColumn(Optional location, Expression expression, Optional alias) { super(location); - requireNonNull(expression, "expression is null"); - requireNonNull(alias, "alias is null"); - - this.expression = expression; - this.alias = alias; + this.expression = requireNonNull(expression, "expression is null"); + this.alias = requireNonNull(alias, "alias is null"); } public Optional getAlias() diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SkipTo.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SkipTo.java index ded2397f250a3e..7ec15e79b46904 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SkipTo.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SkipTo.java @@ -64,7 +64,7 @@ public static SkipTo skipToLast(NodeLocation location, Identifier identifier) private SkipTo(NodeLocation location, Position position, Optional identifier) { - super(Optional.of(location)); + super(location); requireNonNull(position, "position is null"); requireNonNull(identifier, "identifier is null"); checkArgument(identifier.isPresent() || (position == PAST_LAST || position == NEXT), "missing identifier in SKIP TO %s", position.name()); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SortItem.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SortItem.java index fe7f2174a2300c..043ca6e1463c38 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SortItem.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SortItem.java @@ -38,17 +38,16 @@ public enum NullOrdering private final Ordering ordering; private final NullOrdering nullOrdering; + @Deprecated public SortItem(Expression sortKey, Ordering ordering, NullOrdering nullOrdering) { - this(Optional.empty(), sortKey, ordering, nullOrdering); + super(Optional.empty()); + this.ordering = ordering; + this.sortKey = sortKey; + this.nullOrdering = nullOrdering; } public SortItem(NodeLocation location, Expression sortKey, Ordering ordering, NullOrdering nullOrdering) - { - this(Optional.of(location), sortKey, ordering, nullOrdering); - } - - private SortItem(Optional location, Expression sortKey, Ordering ordering, NullOrdering nullOrdering) { super(location); this.ordering = ordering; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/StartTransaction.java b/core/trino-parser/src/main/java/io/trino/sql/tree/StartTransaction.java index 1a85585c517cb0..549bed083208fc 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/StartTransaction.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/StartTransaction.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public final class StartTransaction public StartTransaction(NodeLocation location, List transactionModes) { - super(Optional.of(location)); + super(location); this.transactionModes = ImmutableList.copyOf(requireNonNull(transactionModes, "transactionModes is null")); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Statement.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Statement.java index 1d085c7e9d10bf..8d6ebe5d56abd2 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Statement.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Statement.java @@ -18,11 +18,17 @@ public abstract class Statement extends Node { + @Deprecated protected Statement(Optional location) { super(location); } + protected Statement(NodeLocation location) + { + super(location); + } + @Override public R accept(AstVisitor visitor, C context) { diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/StringLiteral.java b/core/trino-parser/src/main/java/io/trino/sql/tree/StringLiteral.java index 8a89fd552f8326..c7bf4690d7a6ab 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/StringLiteral.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/StringLiteral.java @@ -24,6 +24,7 @@ public class StringLiteral private final String value; private final int length; + @Deprecated public StringLiteral(String value) { this(Optional.empty(), value); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SubqueryExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SubqueryExpression.java index c2962a006aa351..04ea0cf2304e83 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SubqueryExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SubqueryExpression.java @@ -24,17 +24,14 @@ public class SubqueryExpression { private final Query query; + @Deprecated public SubqueryExpression(Query query) { - this(Optional.empty(), query); + super(Optional.empty()); + this.query = query; } public SubqueryExpression(NodeLocation location, Query query) - { - this(Optional.of(location), query); - } - - private SubqueryExpression(Optional location, Query query) { super(location); this.query = query; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SubscriptExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SubscriptExpression.java index 4d9d2bac3471ea..2245d5516795f5 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SubscriptExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SubscriptExpression.java @@ -27,17 +27,15 @@ public class SubscriptExpression private final Expression base; private final Expression index; + @Deprecated public SubscriptExpression(Expression base, Expression index) { - this(Optional.empty(), base, index); + super(Optional.empty()); + this.base = requireNonNull(base, "base is null"); + this.index = requireNonNull(index, "index is null"); } public SubscriptExpression(NodeLocation location, Expression base, Expression index) - { - this(Optional.of(location), base, index); - } - - private SubscriptExpression(Optional location, Expression base, Expression index) { super(location); this.base = requireNonNull(base, "base is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/SubsetDefinition.java b/core/trino-parser/src/main/java/io/trino/sql/tree/SubsetDefinition.java index b132926c9b0591..2f5ed8c99ef25a 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/SubsetDefinition.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/SubsetDefinition.java @@ -15,7 +15,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static com.google.common.base.Preconditions.checkArgument; @@ -29,7 +28,7 @@ public class SubsetDefinition public SubsetDefinition(NodeLocation location, Identifier name, List identifiers) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); requireNonNull(identifiers, "identifiers is null"); checkArgument(!identifiers.isEmpty(), "identifiers is empty"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TableExecute.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TableExecute.java index 78eb360d112d78..4a02e566eba6b7 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TableExecute.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TableExecute.java @@ -37,7 +37,7 @@ public TableExecute( List arguments, Optional where) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.procedureName = requireNonNull(procedureName, "procedureName is null"); this.arguments = requireNonNull(arguments, "arguments is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionArgument.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionArgument.java index 396c2661007ebf..44a8d28b9cc68e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionArgument.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionArgument.java @@ -30,7 +30,7 @@ public class TableFunctionArgument public TableFunctionArgument(NodeLocation location, Optional name, Node value) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); requireNonNull(value, "value is null"); checkArgument(value instanceof TableFunctionTableArgument || value instanceof TableFunctionDescriptorArgument || value instanceof Expression); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionDescriptorArgument.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionDescriptorArgument.java index 374b98e43908de..9f43641fe60600 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionDescriptorArgument.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionDescriptorArgument.java @@ -39,7 +39,7 @@ public static TableFunctionDescriptorArgument nullDescriptorArgument(NodeLocatio private TableFunctionDescriptorArgument(NodeLocation location, Optional descriptor) { - super(Optional.of(location)); + super(location); this.descriptor = descriptor; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionTableArgument.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionTableArgument.java index f44b4409ca692c..d22878a813e9e0 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionTableArgument.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TableFunctionTableArgument.java @@ -38,7 +38,7 @@ public TableFunctionTableArgument( Optional orderBy, Optional emptyTableTreatment) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.partitionBy = requireNonNull(partitionBy, "partitionBy is null"); this.orderBy = requireNonNull(orderBy, "orderBy is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionAccessMode.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionAccessMode.java index fde39feec3e0b1..2a45abbc9c711e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionAccessMode.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionAccessMode.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public final class TransactionAccessMode public TransactionAccessMode(NodeLocation location, boolean readOnly) { - super(Optional.of(location)); + super(location); this.readOnly = readOnly; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionMode.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionMode.java index 87c8145d0151c2..34c0dd4402be94 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionMode.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TransactionMode.java @@ -13,12 +13,10 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public abstract class TransactionMode extends Node { - public TransactionMode(Optional location) + public TransactionMode(NodeLocation location) { super(location); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Trim.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Trim.java index 17e2925d70a226..c904274c12ae9d 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Trim.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Trim.java @@ -30,7 +30,7 @@ public class Trim public Trim(NodeLocation location, Specification specification, Expression trimSource, Optional trimCharacter) { - super(Optional.of(location)); + super(location); this.specification = requireNonNull(specification, "specification is null"); this.trimSource = requireNonNull(trimSource, "trimSource is null"); this.trimCharacter = requireNonNull(trimCharacter, "trimCharacter is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TruncateTable.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TruncateTable.java index 6bb254513ded31..bf2cf882f81620 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TruncateTable.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TruncateTable.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; @@ -28,7 +27,7 @@ public class TruncateTable public TruncateTable(NodeLocation location, QualifiedName tableName) { - super(Optional.of(location)); + super(location); this.tableName = tableName; } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/TryExpression.java b/core/trino-parser/src/main/java/io/trino/sql/tree/TryExpression.java index 43407a3d9887c9..e553db08857d60 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/TryExpression.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/TryExpression.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static java.util.Objects.requireNonNull; @@ -28,7 +27,7 @@ public class TryExpression public TryExpression(NodeLocation location, Expression innerExpression) { - super(Optional.of(location)); + super(location); this.innerExpression = requireNonNull(innerExpression, "innerExpression is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Update.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Update.java index 88a30d0551f0e1..f8aa056b0f9dc1 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Update.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Update.java @@ -31,7 +31,7 @@ public class Update public Update(NodeLocation location, Table table, List assignments, Optional where) { - super(Optional.of(location)); + super(location); this.table = requireNonNull(table, "table is null"); this.assignments = requireNonNull(assignments, "assignments is null"); this.where = requireNonNull(where, "where is null"); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/Use.java b/core/trino-parser/src/main/java/io/trino/sql/tree/Use.java index 49e04b206ddbe8..0fec26c0fb423e 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/Use.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/Use.java @@ -30,7 +30,7 @@ public final class Use public Use(NodeLocation location, Optional catalog, Identifier schema) { - super(Optional.of(location)); + super(location); requireNonNull(catalog, "catalog is null"); requireNonNull(schema, "schema is null"); this.catalog = catalog; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/VariableDefinition.java b/core/trino-parser/src/main/java/io/trino/sql/tree/VariableDefinition.java index 9b9d4350f9ebae..7ee5e3453e3e30 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/VariableDefinition.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/VariableDefinition.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; import static java.util.Objects.requireNonNull; @@ -30,7 +29,7 @@ public class VariableDefinition public VariableDefinition(NodeLocation location, Identifier name, Expression expression) { - super(Optional.of(location)); + super(location); this.name = requireNonNull(name, "name is null"); this.expression = requireNonNull(expression, "expression is null"); } diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/WhenClause.java b/core/trino-parser/src/main/java/io/trino/sql/tree/WhenClause.java index 535ecf3cce26ba..f8216f7614cdde 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/WhenClause.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/WhenClause.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; public class WhenClause extends Expression @@ -25,17 +24,7 @@ public class WhenClause private final Expression operand; private final Expression result; - public WhenClause(Expression operand, Expression result) - { - this(Optional.empty(), operand, result); - } - public WhenClause(NodeLocation location, Expression operand, Expression result) - { - this(Optional.of(location), operand, result); - } - - private WhenClause(Optional location, Expression operand, Expression result) { super(location); this.operand = operand; diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/WindowOperation.java b/core/trino-parser/src/main/java/io/trino/sql/tree/WindowOperation.java index 076dcad07fbae8..35b3b645acf862 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/WindowOperation.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/WindowOperation.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Objects; -import java.util.Optional; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; @@ -42,7 +41,7 @@ public class WindowOperation public WindowOperation(NodeLocation location, Identifier name, Window window) { - super(Optional.of(location)); + super(location); requireNonNull(name, "name is null"); requireNonNull(window, "window is null"); checkArgument(window instanceof WindowReference || window instanceof WindowSpecification, "unexpected window: %s", window.getClass().getSimpleName()); diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrMoreQuantifier.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrMoreQuantifier.java index 5c642693c7b942..cd051c82bdb964 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrMoreQuantifier.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrMoreQuantifier.java @@ -13,14 +13,12 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public class ZeroOrMoreQuantifier extends PatternQuantifier { public ZeroOrMoreQuantifier(NodeLocation location, boolean greedy) { - super(Optional.of(location), greedy); + super(location, greedy); } @Override diff --git a/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrOneQuantifier.java b/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrOneQuantifier.java index 8ae67499e3cb4a..1b0f256356a779 100644 --- a/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrOneQuantifier.java +++ b/core/trino-parser/src/main/java/io/trino/sql/tree/ZeroOrOneQuantifier.java @@ -13,14 +13,12 @@ */ package io.trino.sql.tree; -import java.util.Optional; - public class ZeroOrOneQuantifier extends PatternQuantifier { public ZeroOrOneQuantifier(NodeLocation location, boolean greedy) { - super(Optional.of(location), greedy); + super(location, greedy); } @Override diff --git a/core/trino-parser/src/test/java/io/trino/sql/parser/TestSqlParser.java b/core/trino-parser/src/test/java/io/trino/sql/parser/TestSqlParser.java index 7f598efab4d87e..294c03e87f332a 100644 --- a/core/trino-parser/src/test/java/io/trino/sql/parser/TestSqlParser.java +++ b/core/trino-parser/src/test/java/io/trino/sql/parser/TestSqlParser.java @@ -1796,7 +1796,7 @@ public void testSelectWithGroupBy() DereferenceExpression.from(QualifiedName.of("a")), DereferenceExpression.from(QualifiedName.of("b")), new GroupingOperation( - Optional.empty(), + location(1, 14), ImmutableList.of(QualifiedName.of("a"), QualifiedName.of("b")))), new Table(QualifiedName.of("table1")), Optional.empty(), @@ -1812,7 +1812,7 @@ public void testSelectWithGroupBy() assertStatement("SELECT * FROM table1 GROUP BY ALL GROUPING SETS ((a, b), (a), ()), CUBE (c), ROLLUP (d)", simpleQuery( - selectList(new AllColumns()), + selectList(new AllColumns(location(1, 8))), new Table(QualifiedName.of("table1")), Optional.empty(), Optional.of(new GroupBy(false, ImmutableList.of( @@ -3413,8 +3413,8 @@ public void testAnalyze() assertThat(statement("EXPLAIN ANALYZE ANALYZE foo")).isEqualTo( new ExplainAnalyze( location(1, 1), - false, - new Analyze(location(1, 17), QualifiedName.of(ImmutableList.of(new Identifier(location(1, 25), "foo", false))), ImmutableList.of()))); + new Analyze(location(1, 17), QualifiedName.of(ImmutableList.of(new Identifier(location(1, 25), "foo", false))), ImmutableList.of()), false + )); } @Test @@ -4313,7 +4313,7 @@ public void testLambda() assertThat(expression("x -> sin(x)")) .isEqualTo(new LambdaExpression( location(1, 1), - ImmutableList.of(new LambdaArgumentDeclaration(new Identifier(location(1, 1), "x", false))), + ImmutableList.of(new LambdaArgumentDeclaration(location(1, 1),new Identifier(location(1, 1), "x", false))), new FunctionCall( location(1, 6), QualifiedName.of(ImmutableList.of(new Identifier(location(1, 6), "sin", false))), @@ -4322,8 +4322,8 @@ public void testLambda() .isEqualTo(new LambdaExpression( location(1, 1), ImmutableList.of( - new LambdaArgumentDeclaration(new Identifier(location(1, 2), "x", false)), - new LambdaArgumentDeclaration(new Identifier(location(1, 5), "y", false))), + new LambdaArgumentDeclaration(location(1, 2), new Identifier(location(1, 2), "x", false)), + new LambdaArgumentDeclaration(location(1, 5), new Identifier(location(1, 5), "y", false))), new FunctionCall( location(1, 11), QualifiedName.of(ImmutableList.of(new Identifier(location(1, 11), "mod", false))), @@ -4632,7 +4632,7 @@ public void testShowStatsForQuery() assertThat(statement("SHOW STATS FOR (SELECT * FROM t LIMIT 10)")) .isEqualTo( new ShowStats( - Optional.of(location(1, 1)), + location(1, 1), new TableSubquery( new Query( location(1, 17), @@ -4662,7 +4662,7 @@ public void testShowStatsForQuery() assertThat(statement("SHOW STATS FOR (SELECT * FROM t ORDER BY field LIMIT 10)")) .isEqualTo( new ShowStats( - Optional.of(location(1, 1)), + location(1, 1), new TableSubquery( new Query( location(1, 17), @@ -4697,7 +4697,7 @@ WITH t AS (SELECT 1 ) """)) .isEqualTo( new ShowStats( - Optional.of(location(1, 1)), + location(1, 1), new TableSubquery( new Query( location(2, 4), @@ -4878,7 +4878,7 @@ public void testAggregationWithOrderBy() QualifiedName.of(ImmutableList.of(new Identifier(location(1, 1), "array_agg", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 22), new Identifier(location(1, 22), "x", false), DESCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 13), ImmutableList.of(new SortItem(location(1, 22), new Identifier(location(1, 22), "x", false), DESCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -5920,7 +5920,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 35), new Identifier(location(1, 35), "x", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 26), ImmutableList.of(new SortItem(location(1, 35), new Identifier(location(1, 35), "x", false), ASCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -5937,7 +5937,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 45), new Identifier(location(1, 45), "x", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 36), ImmutableList.of(new SortItem(location(1, 45), new Identifier(location(1, 45), "x", false), ASCENDING, UNDEFINED)))), true, Optional.empty(), Optional.empty(), @@ -5954,7 +5954,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 40), new Identifier(location(1, 40), "y", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 31), ImmutableList.of(new SortItem(location(1, 40), new Identifier(location(1, 40), "y", false), ASCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -5971,7 +5971,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 58), new Identifier(location(1, 58), "x", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 49), ImmutableList.of(new SortItem(location(1, 58), new Identifier(location(1, 58), "x", false), ASCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -5988,7 +5988,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 72), new Identifier(location(1, 72), "x", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 63), ImmutableList.of(new SortItem(location(1, 72), new Identifier(location(1, 72), "x", false), ASCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -6005,7 +6005,7 @@ public void testListagg() QualifiedName.of(ImmutableList.of(new Identifier("LISTAGG", false))), Optional.empty(), Optional.empty(), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(1, 84), new Identifier(location(1, 84), "x", false), ASCENDING, UNDEFINED)))), + Optional.of(new OrderBy(location(1, 75), ImmutableList.of(new SortItem(location(1, 84), new Identifier(location(1, 84), "x", false), ASCENDING, UNDEFINED)))), false, Optional.empty(), Optional.empty(), @@ -6060,7 +6060,7 @@ public void testTableFunctionInvocation() new Identifier(location(2, 37), "b", false), new Identifier(location(2, 40), "c", false))), Optional.of(ImmutableList.of(new Identifier(location(3, 22), "a", false))), - Optional.of(new OrderBy(ImmutableList.of(new SortItem(location(5, 18), new Identifier(location(5, 18), "b", false), ASCENDING, LAST)))), + Optional.of(new OrderBy(location(5, 9), ImmutableList.of(new SortItem(location(5, 18), new Identifier(location(5, 18), "b", false), ASCENDING, LAST)))), Optional.of(new EmptyTableTreatment(location(4, 9), PRUNE)))), new TableFunctionArgument( location(6, 5), @@ -6253,9 +6253,9 @@ public void testJsonExists() // test defaults assertThat(expression("JSON_EXISTS(json_column, 'lax $[5]')")) .isEqualTo(new JsonExists( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(1, 13)), + location(1, 13), new Identifier(location(1, 13), "json_column", false), JSON, new StringLiteral(location(1, 26), "lax $[5]"), @@ -6273,21 +6273,21 @@ public void testJsonExists() UNKNOWN ON ERROR) """)) .isEqualTo(new JsonExists( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(2, 5)), + location(2, 5), new Identifier(location(2, 5), "json_column", false), UTF8, new StringLiteral(location(3, 5), "lax $[start_parameter TO end_parameter.ceiling()]"), Optional.empty(), ImmutableList.of( new JsonPathParameter( - Optional.of(location(5, 17)), + location(5, 17), new Identifier(location(5, 33), "start_parameter", false), new Identifier(location(5, 17), "start_column", false), Optional.empty()), new JsonPathParameter( - Optional.of(location(6, 17)), + location(6, 17), new Identifier(location(6, 58), "end_parameter", false), new Identifier(location(6, 17), "end_column", false), Optional.of(UTF16)))), @@ -6300,9 +6300,9 @@ public void testJsonValue() // test defaults assertThat(expression("JSON_VALUE(json_column, 'lax $[5]')")) .isEqualTo(new JsonValue( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(1, 12)), + location(1, 12), new Identifier(location(1, 12), "json_column", false), JSON, new StringLiteral(location(1, 25), "lax $[5]"), @@ -6326,21 +6326,21 @@ public void testJsonValue() ERROR ON ERROR) """)) .isEqualTo(new JsonValue( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(2, 5)), + location(2, 5), new Identifier(location(2, 5), "json_column", false), UTF8, new StringLiteral(location(3, 5), "lax $[start_parameter TO end_parameter.ceiling()]"), Optional.empty(), ImmutableList.of( new JsonPathParameter( - Optional.of(location(5, 17)), + location(5, 17), new Identifier(location(5, 33), "start_parameter", false), new Identifier(location(5, 17), "start_column", false), Optional.empty()), new JsonPathParameter( - Optional.of(location(6, 17)), + location(6, 17), new Identifier(location(6, 58), "end_parameter", false), new Identifier(location(6, 17), "end_column", false), Optional.of(UTF16)))), @@ -6357,9 +6357,9 @@ public void testJsonQuery() // test defaults assertThat(expression("JSON_QUERY(json_column, 'lax $[5]')")) .isEqualTo(new JsonQuery( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(1, 12)), + location(1, 12), new Identifier(location(1, 12), "json_column", false), JSON, new StringLiteral(location(1, 25), "lax $[5]"), @@ -6386,21 +6386,21 @@ public void testJsonQuery() ERROR ON ERROR) """)) .isEqualTo(new JsonQuery( - Optional.of(location(1, 1)), + location(1, 1), new JsonPathInvocation( - Optional.of(location(2, 5)), + location(2, 5), new Identifier(location(2, 5), "json_column", false), UTF8, new StringLiteral(location(3, 5), "lax $[start_parameter TO end_parameter.ceiling()]"), Optional.empty(), ImmutableList.of( new JsonPathParameter( - Optional.of(location(5, 17)), + location(5, 17), new Identifier(location(5, 33), "start_parameter", false), new Identifier(location(5, 17), "start_column", false), Optional.empty()), new JsonPathParameter( - Optional.of(location(6, 17)), + location(6, 17), new Identifier(location(6, 58), "end_parameter", false), new Identifier(location(6, 17), "end_column", false), Optional.of(UTF16)))), @@ -6418,7 +6418,7 @@ public void testJsonObject() // test create empty JSON object assertThat(expression("JSON_OBJECT()")) .isEqualTo(new JsonObject( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of(), true, false, @@ -6428,7 +6428,7 @@ public void testJsonObject() // test defaults assertThat(expression("JSON_OBJECT(key_column : value_column)")) .isEqualTo(new JsonObject( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of(new JsonObjectMember( location(1, 13), new Identifier(location(1, 13), "key_column", false), @@ -6449,7 +6449,7 @@ public void testJsonObject() RETURNING varbinary FORMAT JSON ENCODING UTF32) """)) .isEqualTo(new JsonObject( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of( new JsonObjectMember( location(2, 6), @@ -6478,7 +6478,7 @@ public void testJsonArray() // test create empty JSON array assertThat(expression("JSON_ARRAY()")) .isEqualTo(new JsonArray( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of(), false, Optional.empty(), @@ -6487,7 +6487,7 @@ public void testJsonArray() // test defaults assertThat(expression("JSON_ARRAY(value_column)")) .isEqualTo(new JsonArray( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of(new JsonArrayElement( location(1, 12), new Identifier(location(1, 12), "value_column", false), @@ -6504,7 +6504,7 @@ public void testJsonArray() RETURNING varbinary FORMAT JSON ENCODING UTF32) """)) .isEqualTo(new JsonArray( - Optional.of(location(1, 1)), + location(1, 1), ImmutableList.of( new JsonArrayElement( location(1, 12), @@ -6536,7 +6536,7 @@ public void testJsonTableScalarColumns() .isEqualTo(selectAllFrom(new JsonTable( location(1, 15), new JsonPathInvocation( - Optional.of(location(1, 26)), + location(1, 26), new Identifier(location(1, 26), "col", false), JSON, new StringLiteral(location(1, 31), "lax $"), @@ -6594,7 +6594,7 @@ public void testJsonTableNestedColumns() .isEqualTo(selectAllFrom(new JsonTable( location(1, 15), new JsonPathInvocation( - Optional.of(location(1, 26)), + location(1, 26), new Identifier(location(1, 26), "col", false), JSON, new StringLiteral(location(1, 31), "lax $"), diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java index 05f5cd19aa6f7d..23261c9a698dc1 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergConnectorTest.java @@ -6518,13 +6518,13 @@ public void testModifyingOldSnapshotIsNotPossible() assertUpdate(format("INSERT INTO %s VALUES 4,5,6", tableName), 3); assertQuery(format("SELECT * FROM %s FOR VERSION AS OF %d", tableName, oldSnapshotId), "VALUES 1,2,3"); assertThat(query(format("INSERT INTO \"%s@%d\" VALUES 7,8,9", tableName, oldSnapshotId))) - .failure().hasMessage(format("Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, oldSnapshotId)); + .failure().hasMessage(format("line 1:1: Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, oldSnapshotId)); assertThat(query(format("DELETE FROM \"%s@%d\" WHERE col = 5", tableName, oldSnapshotId))) .failure().hasMessage(format("line 1:1: Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, oldSnapshotId)); assertThat(query(format("UPDATE \"%s@%d\" SET col = 50 WHERE col = 5", tableName, oldSnapshotId))) .failure().hasMessage(format("line 1:1: Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, oldSnapshotId)); assertThat(query(format("INSERT INTO \"%s@%d\" VALUES 7,8,9", tableName, getCurrentSnapshotId(tableName)))) - .failure().hasMessage(format("Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, getCurrentSnapshotId(tableName))); + .failure().hasMessage(format("line 1:1: Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, getCurrentSnapshotId(tableName))); assertThat(query(format("DELETE FROM \"%s@%d\" WHERE col = 9", tableName, getCurrentSnapshotId(tableName)))) .failure().hasMessage(format("line 1:1: Table 'iceberg.tpch.\"%s@%s\"' does not exist", tableName, getCurrentSnapshotId(tableName))); assertThatThrownBy(() -> assertUpdate(format("UPDATE \"%s@%d\" set col = 50 WHERE col = 5", tableName, getCurrentSnapshotId(tableName)))) diff --git a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergMaterializedViewTest.java b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergMaterializedViewTest.java index 975235ba12c48a..bede58da548e2a 100644 --- a/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergMaterializedViewTest.java +++ b/plugin/trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergMaterializedViewTest.java @@ -540,7 +540,7 @@ public void testSqlFeatures() " base_table1"); assertQueryFails("INSERT INTO materialized_view_window VALUES (0, '2019-09-08'), (1, DATE '2019-09-09'), (2, DATE '2019-09-09')", - "Inserting into materialized views is not supported"); + "line 1:1: Inserting into materialized views is not supported"); computeScalar("EXPLAIN (TYPE LOGICAL) REFRESH MATERIALIZED VIEW materialized_view_window"); computeScalar("EXPLAIN (TYPE DISTRIBUTED) REFRESH MATERIALIZED VIEW materialized_view_window"); diff --git a/testing/trino-product-tests/src/main/java/io/trino/tests/product/hive/TestHiveRedirectionToHudi.java b/testing/trino-product-tests/src/main/java/io/trino/tests/product/hive/TestHiveRedirectionToHudi.java index b1a94707907695..0a737926cebc37 100644 --- a/testing/trino-product-tests/src/main/java/io/trino/tests/product/hive/TestHiveRedirectionToHudi.java +++ b/testing/trino-product-tests/src/main/java/io/trino/tests/product/hive/TestHiveRedirectionToHudi.java @@ -192,7 +192,7 @@ public void testInsert() createHudiCowTable(schemaTableName, false); assertQueryFailure(() -> onTrino().executeQuery("INSERT INTO " + hiveTableName + " VALUES (3, 'a3', 60, 3000)")) - .hasMessageMatching("\\QQuery failed (#\\E\\S+\\Q): Insert query has mismatched column types: Table: [varchar, varchar, varchar, varchar, varchar, bigint, varchar, integer, bigint], Query: [integer, varchar(2), integer, integer]"); + .hasMessageMatching("\\QQuery failed (#\\E\\S+\\Q): line 1:1: Insert query has mismatched column types: Table: [varchar, varchar, varchar, varchar, varchar, bigint, varchar, integer, bigint], Query: [integer, varchar(2), integer, integer]"); onHudi().executeQuery("DROP TABLE " + schemaTableName); }