HHH-16430 Simplify construction of set of ansiSQL2003 keywords

This commit is contained in:
Sanne Grinovero 2023-04-03 15:24:27 +01:00 committed by Sanne Grinovero
parent 8e1247c909
commit 049a25aa66
1 changed files with 245 additions and 248 deletions

View File

@ -6,8 +6,6 @@
*/ */
package org.hibernate.engine.jdbc.env.spi; package org.hibernate.engine.jdbc.env.spi;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set; import java.util.Set;
/** /**
@ -16,6 +14,7 @@ import java.util.Set;
* @author Steve Ebersole * @author Steve Ebersole
*/ */
public final class AnsiSqlKeywords { public final class AnsiSqlKeywords {
/** /**
* Singleton access * Singleton access
*/ */
@ -24,252 +23,250 @@ public final class AnsiSqlKeywords {
private final Set<String> keywordsSql2003; private final Set<String> keywordsSql2003;
private AnsiSqlKeywords() { private AnsiSqlKeywords() {
final Set<String> keywordsSql2003 = new HashSet<>(); this.keywordsSql2003 = Set.of(
keywordsSql2003.add( "ADD" ); "ADD",
keywordsSql2003.add( "ALL" ); "ALL",
keywordsSql2003.add( "ALLOCATE" ); "ALLOCATE",
keywordsSql2003.add( "ALTER" ); "ALTER",
keywordsSql2003.add( "AND" ); "AND",
keywordsSql2003.add( "ANY" ); "ANY",
keywordsSql2003.add( "ARE" ); "ARE",
keywordsSql2003.add( "ARRAY" ); "ARRAY",
keywordsSql2003.add( "AS" ); "AS",
keywordsSql2003.add( "ASENSITIVE" ); "ASENSITIVE",
keywordsSql2003.add( "ASYMMETRIC" ); "ASYMMETRIC",
keywordsSql2003.add( "AT" ); "AT",
keywordsSql2003.add( "ATOMIC" ); "ATOMIC",
keywordsSql2003.add( "AUTHORIZATION" ); "AUTHORIZATION",
keywordsSql2003.add( "BEGIN" ); "BEGIN",
keywordsSql2003.add( "BETWEEN" ); "BETWEEN",
keywordsSql2003.add( "BIGINT" ); "BIGINT",
keywordsSql2003.add( "BLOB" ); "BLOB",
keywordsSql2003.add( "BINARY" ); "BINARY",
keywordsSql2003.add( "BOTH" ); "BOTH",
keywordsSql2003.add( "BY" ); "BY",
keywordsSql2003.add( "CALL" ); "CALL",
keywordsSql2003.add( "CALLED" ); "CALLED",
keywordsSql2003.add( "CASCADED" ); "CASCADED",
keywordsSql2003.add( "CASE" ); "CASE",
keywordsSql2003.add( "CAST" ); "CAST",
keywordsSql2003.add( "CHAR" ); "CHAR",
keywordsSql2003.add( "CHARACTER" ); "CHARACTER",
keywordsSql2003.add( "CHECK" ); "CHECK",
keywordsSql2003.add( "CLOB" ); "CLOB",
keywordsSql2003.add( "CLOSE" ); "CLOSE",
keywordsSql2003.add( "COLLATE" ); "COLLATE",
keywordsSql2003.add( "COLUMN" ); "COLUMN",
keywordsSql2003.add( "COMMIT" ); "COMMIT",
keywordsSql2003.add( "CONDITION" ); "CONDITION",
keywordsSql2003.add( "CONNECT" ); "CONNECT",
keywordsSql2003.add( "CONSTRAINT" ); "CONSTRAINT",
keywordsSql2003.add( "CONTINUE" ); "CONTINUE",
keywordsSql2003.add( "CORRESPONDING" ); "CORRESPONDING",
keywordsSql2003.add( "CREATE" ); "CREATE",
keywordsSql2003.add( "CROSS" ); "CROSS",
keywordsSql2003.add( "CUBE" ); "CUBE",
keywordsSql2003.add( "CURRENT" ); "CURRENT",
keywordsSql2003.add( "CURRENT_DATE" ); "CURRENT_DATE",
keywordsSql2003.add( "CURRENT_PATH" ); "CURRENT_PATH",
keywordsSql2003.add( "CURRENT_ROLE" ); "CURRENT_ROLE",
keywordsSql2003.add( "CURRENT_TIME" ); "CURRENT_TIME",
keywordsSql2003.add( "CURRENT_TIMESTAMP" ); "CURRENT_TIMESTAMP",
keywordsSql2003.add( "CURRENT_USER" ); "CURRENT_USER",
keywordsSql2003.add( "CURSOR" ); "CURSOR",
keywordsSql2003.add( "CYCLE" ); "CYCLE",
keywordsSql2003.add( "DATE" ); "DATE",
keywordsSql2003.add( "DAY" ); "DAY",
keywordsSql2003.add( "DEALLOCATE" ); "DEALLOCATE",
keywordsSql2003.add( "DEC" ); "DEC",
keywordsSql2003.add( "DECIMAL" ); "DECIMAL",
keywordsSql2003.add( "DECLARE" ); "DECLARE",
keywordsSql2003.add( "DEFAULT" ); "DEFAULT",
keywordsSql2003.add( "DELETE" ); "DELETE",
keywordsSql2003.add( "DEREF" ); "DEREF",
keywordsSql2003.add( "DESCRIBE" ); "DESCRIBE",
keywordsSql2003.add( "DETERMINISTIC" ); "DETERMINISTIC",
keywordsSql2003.add( "DISCONNECT" ); "DISCONNECT",
keywordsSql2003.add( "DISTINCT" ); "DISTINCT",
keywordsSql2003.add( "DO" ); "DO",
keywordsSql2003.add( "DOUBLE" ); "DOUBLE",
keywordsSql2003.add( "DROP" ); "DROP",
keywordsSql2003.add( "DYNAMIC" ); "DYNAMIC",
keywordsSql2003.add( "EACH" ); "EACH",
keywordsSql2003.add( "ELEMENT" ); "ELEMENT",
keywordsSql2003.add( "ELSE" ); "ELSE",
keywordsSql2003.add( "ELSIF" ); "ELSIF",
keywordsSql2003.add( "END" ); "END",
keywordsSql2003.add( "ESCAPE" ); "ESCAPE",
keywordsSql2003.add( "EXCEPT" ); "EXCEPT",
keywordsSql2003.add( "EXEC" ); "EXEC",
keywordsSql2003.add( "EXECUTE" ); "EXECUTE",
keywordsSql2003.add( "EXISTS" ); "EXISTS",
keywordsSql2003.add( "EXIT" ); "EXIT",
keywordsSql2003.add( "EXTERNAL" ); "EXTERNAL",
keywordsSql2003.add( "FALSE" ); "FALSE",
keywordsSql2003.add( "FETCH" ); "FETCH",
keywordsSql2003.add( "FILTER" ); "FILTER",
keywordsSql2003.add( "FLOAT" ); "FLOAT",
keywordsSql2003.add( "FOR" ); "FOR",
keywordsSql2003.add( "FOREIGN" ); "FOREIGN",
keywordsSql2003.add( "FREE" ); "FREE",
keywordsSql2003.add( "FROM" ); "FROM",
keywordsSql2003.add( "FULL" ); "FULL",
keywordsSql2003.add( "FUNCTION" ); "FUNCTION",
keywordsSql2003.add( "GET" ); "GET",
keywordsSql2003.add( "GLOBAL" ); "GLOBAL",
keywordsSql2003.add( "GRANT" ); "GRANT",
keywordsSql2003.add( "GROUP" ); "GROUP",
keywordsSql2003.add( "GROUPING" ); "GROUPING",
keywordsSql2003.add( "HANDLER" ); "HANDLER",
keywordsSql2003.add( "HAVING" ); "HAVING",
keywordsSql2003.add( "HOLD" ); "HOLD",
keywordsSql2003.add( "HOUR" ); "HOUR",
keywordsSql2003.add( "IDENTITY" ); "IDENTITY",
keywordsSql2003.add( "IF" ); "IF",
keywordsSql2003.add( "IMMEDIATE" ); "IMMEDIATE",
keywordsSql2003.add( "IN" ); "IN",
keywordsSql2003.add( "INDICATOR" ); "INDICATOR",
keywordsSql2003.add( "INNER" ); "INNER",
keywordsSql2003.add( "INOUT" ); "INOUT",
keywordsSql2003.add( "INPUT" ); "INPUT",
keywordsSql2003.add( "INSENSITIVE" ); "INSENSITIVE",
keywordsSql2003.add( "INSERT" ); "INSERT",
keywordsSql2003.add( "INT" ); "INT",
keywordsSql2003.add( "INTEGER" ); "INTEGER",
keywordsSql2003.add( "INTERSECT" ); "INTERSECT",
keywordsSql2003.add( "INTERVAL" ); "INTERVAL",
keywordsSql2003.add( "INTO" ); "INTO",
keywordsSql2003.add( "IS" ); "IS",
keywordsSql2003.add( "ITERATE" ); "ITERATE",
keywordsSql2003.add( "JOIN" ); "JOIN",
keywordsSql2003.add( "LANGUAGE" ); "LANGUAGE",
keywordsSql2003.add( "LARGE" ); "LARGE",
keywordsSql2003.add( "LATERAL" ); "LATERAL",
keywordsSql2003.add( "LEADING" ); "LEADING",
keywordsSql2003.add( "LEAVE" ); "LEAVE",
keywordsSql2003.add( "LEFT" ); "LEFT",
keywordsSql2003.add( "LIKE" ); "LIKE",
keywordsSql2003.add( "LOCAL" ); "LOCAL",
keywordsSql2003.add( "LOCALTIME" ); "LOCALTIME",
keywordsSql2003.add( "LOCALTIMESTAMP" ); "LOCALTIMESTAMP",
keywordsSql2003.add( "LOOP" ); "LOOP",
keywordsSql2003.add( "MATCH" ); "MATCH",
keywordsSql2003.add( "MEMBER" ); "MEMBER",
keywordsSql2003.add( "MERGE" ); "MERGE",
keywordsSql2003.add( "METHOD" ); "METHOD",
keywordsSql2003.add( "MINUTE" ); "MINUTE",
keywordsSql2003.add( "MODIFIES" ); "MODIFIES",
keywordsSql2003.add( "MODULE" ); "MODULE",
keywordsSql2003.add( "MONTH" ); "MONTH",
keywordsSql2003.add( "MULTISET" ); "MULTISET",
keywordsSql2003.add( "NATIONAL" ); "NATIONAL",
keywordsSql2003.add( "NATURAL" ); "NATURAL",
keywordsSql2003.add( "NCHAR" ); "NCHAR",
keywordsSql2003.add( "NCLOB" ); "NCLOB",
keywordsSql2003.add( "NEW" ); "NEW",
keywordsSql2003.add( "NO" ); "NO",
keywordsSql2003.add( "NONE" ); "NONE",
keywordsSql2003.add( "NOT" ); "NOT",
keywordsSql2003.add( "NULL" ); "NULL",
keywordsSql2003.add( "NUMERIC" ); "NUMERIC",
keywordsSql2003.add( "OF" ); "OF",
keywordsSql2003.add( "OLD" ); "OLD",
keywordsSql2003.add( "ON" ); "ON",
keywordsSql2003.add( "ONLY" ); "ONLY",
keywordsSql2003.add( "OPEN" ); "OPEN",
keywordsSql2003.add( "OR" ); "OR",
keywordsSql2003.add( "ORDER" ); "ORDER",
keywordsSql2003.add( "OUT" ); "OUT",
keywordsSql2003.add( "OUTER" ); "OUTER",
keywordsSql2003.add( "OUTPUT" ); "OUTPUT",
keywordsSql2003.add( "OVER" ); "OVER",
keywordsSql2003.add( "OVERLAPS" ); "OVERLAPS",
keywordsSql2003.add( "PARAMETER" ); "PARAMETER",
keywordsSql2003.add( "PARTITION" ); "PARTITION",
keywordsSql2003.add( "PRECISION" ); "PRECISION",
keywordsSql2003.add( "PREPARE" ); "PREPARE",
keywordsSql2003.add( "PRIMARY" ); "PRIMARY",
keywordsSql2003.add( "PROCEDURE" ); "PROCEDURE",
keywordsSql2003.add( "RANGE" ); "RANGE",
keywordsSql2003.add( "READS" ); "READS",
keywordsSql2003.add( "REAL" ); "REAL",
keywordsSql2003.add( "RECURSIVE" ); "RECURSIVE",
keywordsSql2003.add( "REF" ); "REF",
keywordsSql2003.add( "REFERENCES" ); "REFERENCES",
keywordsSql2003.add( "REFERENCING" ); "REFERENCING",
keywordsSql2003.add( "RELEASE" ); "RELEASE",
keywordsSql2003.add( "REPEAT" ); "REPEAT",
keywordsSql2003.add( "RESIGNAL" ); "RESIGNAL",
keywordsSql2003.add( "RESULT" ); "RESULT",
keywordsSql2003.add( "RETURN" ); "RETURN",
keywordsSql2003.add( "RETURNS" ); "RETURNS",
keywordsSql2003.add( "REVOKE" ); "REVOKE",
keywordsSql2003.add( "RIGHT" ); "RIGHT",
keywordsSql2003.add( "ROLLBACK" ); "ROLLBACK",
keywordsSql2003.add( "ROLLUP" ); "ROLLUP",
keywordsSql2003.add( "ROW" ); "ROW",
keywordsSql2003.add( "ROWS" ); "ROWS",
keywordsSql2003.add( "SAVEPOINT" ); "SAVEPOINT",
keywordsSql2003.add( "SCROLL" ); "SCROLL",
keywordsSql2003.add( "SEARCH" ); "SEARCH",
keywordsSql2003.add( "SECOND" ); "SECOND",
keywordsSql2003.add( "SELECT" ); "SELECT",
keywordsSql2003.add( "SENSITIVE" ); "SENSITIVE",
keywordsSql2003.add( "SESSION_USE" ); "SESSION_USE",
keywordsSql2003.add( "SET" ); "SET",
keywordsSql2003.add( "SIGNAL" ); "SIGNAL",
keywordsSql2003.add( "SIMILAR" ); "SIMILAR",
keywordsSql2003.add( "SMALLINT" ); "SMALLINT",
keywordsSql2003.add( "SOME" ); "SOME",
keywordsSql2003.add( "SPECIFIC" ); "SPECIFIC",
keywordsSql2003.add( "SPECIFICTYPE" ); "SPECIFICTYPE",
keywordsSql2003.add( "SQL" ); "SQL",
keywordsSql2003.add( "SQLEXCEPTION" ); "SQLEXCEPTION",
keywordsSql2003.add( "SQLSTATE" ); "SQLSTATE",
keywordsSql2003.add( "SQLWARNING" ); "SQLWARNING",
keywordsSql2003.add( "START" ); "START",
keywordsSql2003.add( "STATIC" ); "STATIC",
keywordsSql2003.add( "SUBMULTISET" ); "SUBMULTISET",
keywordsSql2003.add( "SYMMETRIC" ); "SYMMETRIC",
keywordsSql2003.add( "SYSTEM" ); "SYSTEM",
keywordsSql2003.add( "SYSTEM_USER" ); "SYSTEM_USER",
keywordsSql2003.add( "TABLE" ); "TABLE",
keywordsSql2003.add( "TABLESAMPLE" ); "TABLESAMPLE",
keywordsSql2003.add( "THEN" ); "THEN",
keywordsSql2003.add( "TIME" ); "TIME",
keywordsSql2003.add( "TIMESTAMP" ); "TIMESTAMP",
keywordsSql2003.add( "TIMEZONE_HOUR" ); "TIMEZONE_HOUR",
keywordsSql2003.add( "TIMEZONE_MINUTE" ); "TIMEZONE_MINUTE",
keywordsSql2003.add( "TO" ); "TO",
keywordsSql2003.add( "TRAILING" ); "TRAILING",
keywordsSql2003.add( "TRANSLATION" ); "TRANSLATION",
keywordsSql2003.add( "TREAT" ); "TREAT",
keywordsSql2003.add( "TRIGGER" ); "TRIGGER",
keywordsSql2003.add( "TRUE" ); "TRUE",
keywordsSql2003.add( "UNDO" ); "UNDO",
keywordsSql2003.add( "UNION" ); "UNION",
keywordsSql2003.add( "UNIQUE" ); "UNIQUE",
keywordsSql2003.add( "UNKNOWN" ); "UNKNOWN",
keywordsSql2003.add( "UNNEST" ); "UNNEST",
keywordsSql2003.add( "UNTIL" ); "UNTIL",
keywordsSql2003.add( "UPDATE" ); "UPDATE",
keywordsSql2003.add( "USER" ); "USER",
keywordsSql2003.add( "USING" ); "USING",
keywordsSql2003.add( "VALUE" ); "VALUE",
keywordsSql2003.add( "VALUES" ); "VALUES",
keywordsSql2003.add( "VARCHAR" ); "VARCHAR",
keywordsSql2003.add( "VARYING" ); "VARYING",
keywordsSql2003.add( "WHEN" ); "WHEN",
keywordsSql2003.add( "WHENEVER" ); "WHENEVER",
keywordsSql2003.add( "WHERE" ); "WHERE",
keywordsSql2003.add( "WHILE" ); "WHILE",
keywordsSql2003.add( "WINDOW" ); "WINDOW",
keywordsSql2003.add( "WITH" ); "WITH",
keywordsSql2003.add( "WITHIN" ); "WITHIN",
keywordsSql2003.add( "WITHOUT" ); "WITHOUT",
keywordsSql2003.add( "YEAR" ); "YEAR");
this.keywordsSql2003 = Collections.unmodifiableSet( keywordsSql2003 );
} }
/** /**