This is an automated email from the ASF dual-hosted git repository.

jhyde pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git

commit ffd7b37d2eace6635a1b21ea3221bd1d3b3e30a7
Author: Julian Hyde <[email protected]>
AuthorDate: Thu Jul 16 14:39:26 2020 -0700

    Make SQL parser's SQL-92 reserved words consistent with actual SQL-92 
standard
---
 .../calcite/sql/parser/SqlAbstractParserImpl.java  | 23 +++++++++++++++++++---
 .../apache/calcite/sql/parser/SqlParserTest.java   | 10 ++++------
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git 
a/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java 
b/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java
index 9ee7bfb..2fa63cc 100644
--- 
a/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java
+++ 
b/core/src/main/java/org/apache/calcite/sql/parser/SqlAbstractParserImpl.java
@@ -73,6 +73,7 @@ public abstract class SqlAbstractParserImpl {
           "BIT_LENGTH",
           "BOTH",
           "BY",
+          "CALL",
           "CASCADE",
           "CASCADED",
           "CASE",
@@ -89,10 +90,12 @@ public abstract class SqlAbstractParserImpl {
           "COLLATION",
           "COLUMN",
           "COMMIT",
+          "CONDITION",
           "CONNECT",
           "CONNECTION",
           "CONSTRAINT",
           "CONSTRAINTS",
+          "CONTAINS",
           "CONTINUE",
           "CONVERT",
           "CORRESPONDING",
@@ -101,6 +104,7 @@ public abstract class SqlAbstractParserImpl {
           "CROSS",
           "CURRENT",
           "CURRENT_DATE",
+          "CURRENT_PATH",
           "CURRENT_TIME",
           "CURRENT_TIMESTAMP",
           "CURRENT_USER",
@@ -118,6 +122,7 @@ public abstract class SqlAbstractParserImpl {
           "DESC",
           "DESCRIBE",
           "DESCRIPTOR",
+          "DETERMINISTIC",
           "DIAGNOSTICS",
           "DISCONNECT",
           "DISTINCT",
@@ -126,7 +131,6 @@ public abstract class SqlAbstractParserImpl {
           "DROP",
           "ELSE",
           "END",
-          "END-EXEC",
           "ESCAPE",
           "EXCEPT",
           "EXCEPTION",
@@ -144,6 +148,7 @@ public abstract class SqlAbstractParserImpl {
           "FOUND",
           "FROM",
           "FULL",
+          "FUNCTION",
           "GET",
           "GLOBAL",
           "GO",
@@ -155,10 +160,12 @@ public abstract class SqlAbstractParserImpl {
           "IDENTITY",
           "IMMEDIATE",
           "IN",
+          "INADD",
           "INDICATOR",
           "INITIALLY",
           "INNER",
-          "INADD",
+          "INOUT",
+          "INPUT",
           "INSENSITIVE",
           "INSERT",
           "INT",
@@ -202,11 +209,15 @@ public abstract class SqlAbstractParserImpl {
           "OPTION",
           "OR",
           "ORDER",
-          "OUTER",
+          "OUT",
           "OUTADD",
+          "OUTER",
+          "OUTPUT",
           "OVERLAPS",
           "PAD",
+          "PARAMETER",
           "PARTIAL",
+          "PATH",
           "POSITION",
           "PRECISION",
           "PREPARE",
@@ -221,9 +232,12 @@ public abstract class SqlAbstractParserImpl {
           "REFERENCES",
           "RELATIVE",
           "RESTRICT",
+          "RETURN",
+          "RETURNS",
           "REVOKE",
           "RIGHT",
           "ROLLBACK",
+          "ROUTINE",
           "ROWS",
           "SCHEMA",
           "SCROLL",
@@ -237,10 +251,13 @@ public abstract class SqlAbstractParserImpl {
           "SMALLINT",
           "SOME",
           "SPACE",
+          "SPECIFIC",
           "SQL",
           "SQLCODE",
           "SQLERROR",
+          "SQLEXCEPTION",
           "SQLSTATE",
+          "SQLWARNING",
           "SUBSTRING",
           "SUM",
           "SYSTEM_USER",
diff --git 
a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java 
b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
index 3c4bf76..68be810 100644
--- a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
+++ b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
@@ -7507,12 +7507,10 @@ public class SqlParserTest {
       if (metadata.isKeyword(s) && metadata.isReservedWord(s)) {
         reservedKeywords.add(s);
       }
-      if (false) {
-        // Cannot enable this test yet, because the parser's list of SQL:92
-        // reserved words is not consistent with keywords("92").
-        assertThat(s, metadata.isSql92ReservedWord(s),
-            is(keywords92.contains(s)));
-      }
+      // Check that the parser's list of SQL:92
+      // reserved words is consistent with keywords("92").
+      assertThat(s, metadata.isSql92ReservedWord(s),
+          is(keywords92.contains(s)));
     }
 
     final String reason = "The parser has at least one new reserved keyword. "

Reply via email to