diff --git a/core/trino-grammar/src/main/antlr4/io/trino/grammar/sql/SqlBase.g4 b/core/trino-grammar/src/main/antlr4/io/trino/grammar/sql/SqlBase.g4 index 71e5ae3d74e1..33335bae4c96 100644 --- a/core/trino-grammar/src/main/antlr4/io/trino/grammar/sql/SqlBase.g4 +++ b/core/trino-grammar/src/main/antlr4/io/trino/grammar/sql/SqlBase.g4 @@ -1057,7 +1057,7 @@ nonReserved | KEEP | KEY | KEYS | LANGUAGE | LAST | LATERAL | LEADING | LEAVE | LEVEL | LIMIT | LOCAL | LOGICAL | LOOP | MAP | MATCH | MATCHED | MATCHES | MATCH_RECOGNIZE | MATERIALIZED | MEASURES | MERGE | MINUTE | MONTH - | NESTED | NEXT | NFC | NFD | NEAREST | NFKC | NFKD | NO | NONE | NULLIF | NULLS + | NEAREST | NESTED | NEXT | NFC | NFD | NFKC | NFKD | NO | NONE | NULLIF | NULLS | OBJECT | OF | OFFSET | OMIT | ONE | ONLY | OPTION | ORDINALITY | OUTPUT | OVER | OVERFLOW | PARTITION | PARTITIONS | PASSING | PAST | PATH | PATTERN | PER | PERIOD | PERMUTE | PLAN | POSITION | PRECEDING | PRECISION | PRIVILEGES | PROPERTIES | PRUNE | QUOTES @@ -1235,9 +1235,9 @@ MERGE: 'MERGE'; MINUTE: 'MINUTE'; MONTH: 'MONTH'; NATURAL: 'NATURAL'; +NEAREST: 'NEAREST'; NESTED: 'NESTED'; NEXT: 'NEXT'; -NEAREST: 'NEAREST'; NFC : 'NFC'; NFD : 'NFD'; NFKC : 'NFKC'; diff --git a/core/trino-grammar/src/test/java/io/trino/grammar/sql/TestSqlKeywords.java b/core/trino-grammar/src/test/java/io/trino/grammar/sql/TestSqlKeywords.java index 028ee53640ef..a58de81dc7c9 100644 --- a/core/trino-grammar/src/test/java/io/trino/grammar/sql/TestSqlKeywords.java +++ b/core/trino-grammar/src/test/java/io/trino/grammar/sql/TestSqlKeywords.java @@ -189,8 +189,8 @@ public void test() "MINUTE", "MONTH", "NATURAL", - "NESTED", "NEAREST", + "NESTED", "NEXT", "NFC", "NFD", diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/RelationPlanner.java b/core/trino-main/src/main/java/io/trino/sql/planner/RelationPlanner.java index 11aa869eae3a..fbc60c613ec2 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/RelationPlanner.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/RelationPlanner.java @@ -880,7 +880,7 @@ protected RelationPlan visitLateral(Lateral node, Void context) @Override protected RelationPlan visitNearest(Nearest node, Void context) { - throw semanticException(NOT_SUPPORTED, node, "NEAREST is only supported on the right side of CROSS JOIN, LEFT JOIN, or an implicit join"); + throw semanticException(NOT_SUPPORTED, node, "NEAREST is only supported on the right side of CROSS JOIN, INNER JOIN, LEFT JOIN, or an implicit join"); } @Override diff --git a/docs/src/main/sphinx/sql/select.md b/docs/src/main/sphinx/sql/select.md index c5304cdf35fd..7653409a94ad 100644 --- a/docs/src/main/sphinx/sql/select.md +++ b/docs/src/main/sphinx/sql/select.md @@ -1594,6 +1594,7 @@ NEAREST (...) ON TRUE`, implicit comma joins with `NEAREST (...)`, and `LEFT JOIN NEAREST (...) ON TRUE`. `JOIN USING`, `NATURAL JOIN`, and join conditions other than `ON TRUE` are not supported for `NEAREST`. + ### Qualifying column names When two relations in a join have columns with the same name, the column