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. "
