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

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


The following commit(s) were added to refs/heads/master by this push:
     new 14b1312  [SPARK-27103][SQL][MINOR] List SparkSql reserved keywords in 
alphabet order
14b1312 is described below

commit 14b13127276012163b3db6eebb5e6e8708efc50e
Author: SongYadong <[email protected]>
AuthorDate: Fri Mar 8 10:51:39 2019 -0800

    [SPARK-27103][SQL][MINOR] List SparkSql reserved keywords in alphabet order
    
    ## What changes were proposed in this pull request?
    
    This PR tries to correct spark-sql reserved keywords' position in list if 
they are not in alphabetical order.
    In test suite some repeated words are removed. Also some comments are added 
for remind.
    
    ## How was this patch tested?
    
    Existing unit tests.
    
    Closes #23985 from SongYadong/sql_reserved_alphabet.
    
    Authored-by: SongYadong <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .../apache/spark/sql/catalyst/parser/SqlBase.g4    | 501 +++++++++++++++++++--
 .../parser/TableIdentifierParserSuite.scala        | 288 ++++++++++--
 2 files changed, 718 insertions(+), 71 deletions(-)

diff --git 
a/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4 
b/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
index 46fff80..d2164ec 100644
--- 
a/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
+++ 
b/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4
@@ -765,62 +765,485 @@ number
 //
 // Let's say you add a new token `NEWTOKEN` and this is not reserved 
regardless of a `spark.sql.parser.ansi.enabled`
 // value. In this case, you must add a token `NEWTOKEN` in both 
`ansiNonReserved` and `nonReserved`.
+//
+// It is recommended to list them in alphabetical order.
 
 // The list of the reserved keywords when `spark.sql.parser.ansi.enabled` is 
true. Currently, we only reserve
 // the ANSI keywords that almost all the ANSI SQL standards (SQL-92, SQL-99, 
SQL-2003, SQL-2008, SQL-2011,
 // and SQL-2016) and PostgreSQL reserve.
 ansiReserved
-    : ALL | AND | ANTI | ANY | AS | AUTHORIZATION | BOTH | CASE | CAST | CHECK 
| COLLATE | COLUMN | CONSTRAINT | CREATE
-    | CROSS | CURRENT_DATE | CURRENT_TIME | CURRENT_TIMESTAMP | CURRENT_USER | 
DISTINCT | ELSE | END | EXCEPT | FALSE
-    | FETCH | FOR | FOREIGN | FROM | FULL | GRANT | GROUP | HAVING | IN | 
INNER | INTERSECT | INTO | JOIN | IS
-    | LEADING | LEFT | NATURAL | NOT | NULL | ON | ONLY | OR | ORDER | OUTER | 
OVERLAPS | PRIMARY | REFERENCES | RIGHT
-    | SELECT | SEMI | SESSION_USER | SETMINUS | SOME | TABLE | THEN | TO | 
TRAILING | UNION | UNIQUE | USER | USING
-    | WHEN | WHERE | WITH
+    : ALL
+    | AND
+    | ANTI
+    | ANY
+    | AS
+    | AUTHORIZATION
+    | BOTH
+    | CASE
+    | CAST
+    | CHECK
+    | COLLATE
+    | COLUMN
+    | CONSTRAINT
+    | CREATE
+    | CROSS
+    | CURRENT_DATE
+    | CURRENT_TIME
+    | CURRENT_TIMESTAMP
+    | CURRENT_USER
+    | DISTINCT
+    | ELSE
+    | END
+    | EXCEPT
+    | FALSE
+    | FETCH
+    | FOR
+    | FOREIGN
+    | FROM
+    | FULL
+    | GRANT
+    | GROUP
+    | HAVING
+    | IN
+    | INNER
+    | INTERSECT
+    | INTO
+    | IS
+    | JOIN
+    | LEADING
+    | LEFT
+    | NATURAL
+    | NOT
+    | NULL
+    | ON
+    | ONLY
+    | OR
+    | ORDER
+    | OUTER
+    | OVERLAPS
+    | PRIMARY
+    | REFERENCES
+    | RIGHT
+    | SELECT
+    | SEMI
+    | SESSION_USER
+    | SETMINUS
+    | SOME
+    | TABLE
+    | THEN
+    | TO
+    | TRAILING
+    | UNION
+    | UNIQUE
+    | USER
+    | USING
+    | WHEN
+    | WHERE
+    | WITH
     ;
 
 
 // The list of the non-reserved keywords when `spark.sql.parser.ansi.enabled` 
is true.
 ansiNonReserved
-    : ADD | AFTER | ALTER | ANALYZE | ARCHIVE | ARRAY | ASC | AT | BETWEEN | 
BUCKET | BUCKETS | BY | CACHE | CASCADE
-    | CHANGE | CLEAR | CLUSTER | CLUSTERED | CODEGEN | COLLECTION | COLUMNS | 
COMMENT | COMMIT | COMPACT | COMPACTIONS
-    | COMPUTE | CONCATENATE | COST | CUBE | CURRENT | DATA | DATABASE | 
DATABASES | DBPROPERTIES | DEFINED | DELETE
-    | DELIMITED | DESC | DESCRIBE | DFS | DIRECTORIES | DIRECTORY | DISTRIBUTE 
| DIV | DROP | ESCAPED | EXCHANGE
-    | EXISTS | EXPLAIN | EXPORT | EXTENDED | EXTERNAL | EXTRACT | FIELDS | 
FILEFORMAT | FIRST | FOLLOWING | FORMAT
-    | FORMATTED | FUNCTION | FUNCTIONS | GLOBAL | GROUPING | IF | IGNORE | 
IMPORT | INDEX | INDEXES | INPATH
-    | INPUTFORMAT | INSERT | INTERVAL | ITEMS | KEYS | LAST | LATERAL | LAZY | 
LIKE | LIMIT | LINES | LIST | LOAD
-    | LOCAL | LOCATION | LOCK | LOCKS | LOGICAL | MACRO | MAP | MSCK | NO | 
NULLS | OF | OPTION | OPTIONS | OUT
-    | OUTPUTFORMAT | OVER | OVERWRITE | PARTITION | PARTITIONED | PARTITIONS | 
PERCENT | PERCENTLIT | PIVOT | PRECEDING
-    | PRINCIPALS | PURGE | QUERY | RANGE | RECORDREADER | RECORDWRITER | 
RECOVER | REDUCE | REFRESH | RENAME | REPAIR | REPLACE
-    | RESET | RESTRICT | REVOKE | RLIKE | ROLE | ROLES | ROLLBACK | ROLLUP | 
ROW | ROWS | SCHEMA | SEPARATED | SERDE
-    | SERDEPROPERTIES | SET | SETS | SHOW | SKEWED | SORT | SORTED | START | 
STATISTICS | STORED | STRATIFY | STRUCT
-    | TABLES | TABLESAMPLE | TBLPROPERTIES | TEMPORARY | TERMINATED | TOUCH | 
TRANSACTION | TRANSACTIONS | TRANSFORM
-    | TRUE | TRUNCATE | UNARCHIVE | UNBOUNDED | UNCACHE | UNLOCK | UNSET | USE 
| VALUES | VIEW | WINDOW
+    : ADD
+    | AFTER
+    | ALTER
+    | ANALYZE
+    | ARCHIVE
+    | ARRAY
+    | ASC
+    | AT
+    | BETWEEN
+    | BUCKET
+    | BUCKETS
+    | BY
+    | CACHE
+    | CASCADE
+    | CHANGE
+    | CLEAR
+    | CLUSTER
+    | CLUSTERED
+    | CODEGEN
+    | COLLECTION
+    | COLUMNS
+    | COMMENT
+    | COMMIT
+    | COMPACT
+    | COMPACTIONS
+    | COMPUTE
+    | CONCATENATE
+    | COST
+    | CUBE
+    | CURRENT
+    | DATA
+    | DATABASE
+    | DATABASES
+    | DBPROPERTIES
+    | DEFINED
+    | DELETE
+    | DELIMITED
+    | DESC
+    | DESCRIBE
+    | DFS
+    | DIRECTORIES
+    | DIRECTORY
+    | DISTRIBUTE
+    | DIV
+    | DROP
+    | ESCAPED
+    | EXCHANGE
+    | EXISTS
+    | EXPLAIN
+    | EXPORT
+    | EXTENDED
+    | EXTERNAL
+    | EXTRACT
+    | FIELDS
+    | FILEFORMAT
+    | FIRST
+    | FOLLOWING
+    | FORMAT
+    | FORMATTED
+    | FUNCTION
+    | FUNCTIONS
+    | GLOBAL
+    | GROUPING
+    | IF
+    | IGNORE
+    | IMPORT
+    | INDEX
+    | INDEXES
+    | INPATH
+    | INPUTFORMAT
+    | INSERT
+    | INTERVAL
+    | ITEMS
+    | KEYS
+    | LAST
+    | LATERAL
+    | LAZY
+    | LIKE
+    | LIMIT
+    | LINES
+    | LIST
+    | LOAD
+    | LOCAL
+    | LOCATION
+    | LOCK
+    | LOCKS
+    | LOGICAL
+    | MACRO
+    | MAP
+    | MSCK
+    | NO
+    | NULLS
+    | OF
+    | OPTION
+    | OPTIONS
+    | OUT
+    | OUTPUTFORMAT
+    | OVER
+    | OVERWRITE
+    | PARTITION
+    | PARTITIONED
+    | PARTITIONS
+    | PERCENT
+    | PERCENTLIT
+    | PIVOT
+    | PRECEDING
+    | PRINCIPALS
+    | PURGE
+    | QUERY
+    | RANGE
+    | RECORDREADER
+    | RECORDWRITER
+    | RECOVER
+    | REDUCE
+    | REFRESH
+    | RENAME
+    | REPAIR
+    | REPLACE
+    | RESET
+    | RESTRICT
+    | REVOKE
+    | RLIKE
+    | ROLE
+    | ROLES
+    | ROLLBACK
+    | ROLLUP
+    | ROW
+    | ROWS
+    | SCHEMA
+    | SEPARATED
+    | SERDE
+    | SERDEPROPERTIES
+    | SET
+    | SETS
+    | SHOW
+    | SKEWED
+    | SORT
+    | SORTED
+    | START
+    | STATISTICS
+    | STORED
+    | STRATIFY
+    | STRUCT
+    | TABLES
+    | TABLESAMPLE
+    | TBLPROPERTIES
+    | TEMPORARY
+    | TERMINATED
+    | TOUCH
+    | TRANSACTION
+    | TRANSACTIONS
+    | TRANSFORM
+    | TRUE
+    | TRUNCATE
+    | UNARCHIVE
+    | UNBOUNDED
+    | UNCACHE
+    | UNLOCK
+    | UNSET
+    | USE
+    | VALUES
+    | VIEW
+    | WINDOW
     ;
 
 defaultReserved
-    : ANTI | CROSS | EXCEPT | FULL | INNER | INTERSECT | JOIN | LEFT | NATURAL 
| ON | RIGHT | SEMI | SETMINUS | UNION
+    : ANTI
+    | CROSS
+    | EXCEPT
+    | FULL
+    | INNER
+    | INTERSECT
+    | JOIN
+    | LEFT
+    | NATURAL
+    | ON
+    | RIGHT
+    | SEMI
+    | SETMINUS
+    | UNION
     | USING
     ;
 
 nonReserved
-    : ADD | AFTER | ALL | ALTER | ANALYZE | AND | ANY | ARCHIVE | ARRAY | AS | 
ASC | AT | AUTHORIZATION | BETWEEN
-    | BOTH | BUCKET | BUCKETS | BY | CACHE | CASCADE | CASE | CAST | CHANGE | 
CHECK | CLEAR | CLUSTER | CLUSTERED
-    | CODEGEN | COLLATE | COLLECTION | COLUMN | COLUMNS | COMMENT | COMMIT | 
COMPACT | COMPACTIONS | COMPUTE
-    | CONCATENATE | CONSTRAINT | COST | CREATE | CUBE | CURRENT | CURRENT_DATE 
| CURRENT_TIME | CURRENT_TIMESTAMP
-    | CURRENT_USER | DATA | DATABASE | DATABASES | DBPROPERTIES | DEFINED | 
DELETE | DELIMITED | DESC | DESCRIBE | DFS
-    | DIRECTORIES | DIRECTORY | DISTINCT | DISTRIBUTE | DIV | DROP | ELSE | 
END | ESCAPED | EXCHANGE | EXISTS | EXPLAIN
-    | EXPORT | EXTENDED | EXTERNAL | EXTRACT | FALSE | FETCH | FIELDS | 
FILEFORMAT | FIRST | FOLLOWING | FOR | FOREIGN
-    | FORMAT | FORMATTED | FROM | FUNCTION | FUNCTIONS | GLOBAL | GRANT | 
GROUP | GROUPING | HAVING | IF | IGNORE
-    | IMPORT | IN | INDEX | INDEXES | INPATH | INPUTFORMAT | INSERT | INTERVAL 
| INTO | IS | ITEMS | KEYS | LAST
-    | LATERAL | LAZY | LEADING | LIKE | LIMIT | LINES | LIST | LOAD | LOCAL | 
LOCATION | LOCK | LOCKS | LOGICAL | MACRO
-    | MAP | MSCK | NO | NOT | NULL | NULLS | OF | ONLY | OPTION | OPTIONS | OR 
| ORDER | OUT | OUTER | OUTPUTFORMAT
-    | OVER | OVERLAPS | OVERWRITE | PARTITION | PARTITIONED | PARTITIONS | 
PERCENTLIT | PIVOT | POSITION | PRECEDING
-    | PRIMARY | PRINCIPALS | PURGE | QUERY | RANGE | RECORDREADER | 
RECORDWRITER | RECOVER | REDUCE | REFERENCES | REFRESH
-    | RENAME | REPAIR | REPLACE | RESET | RESTRICT | REVOKE | RLIKE | ROLE | 
ROLES | ROLLBACK | ROLLUP | ROW | ROWS
-    | SELECT | SEPARATED | SERDE | SERDEPROPERTIES | SESSION_USER | SET | SETS 
| SHOW | SKEWED | SOME | SORT | SORTED
-    | START | STATISTICS | STORED | STRATIFY | STRUCT | TABLE | TABLES | 
TABLESAMPLE | TBLPROPERTIES | TEMPORARY
-    | TERMINATED | THEN | TO | TOUCH | TRAILING | TRANSACTION | TRANSACTIONS | 
TRANSFORM | TRUE | TRUNCATE | UNARCHIVE
-    | UNBOUNDED | UNCACHE | UNLOCK | UNIQUE | UNSET | USE | USER | VALUES | 
VIEW | WHEN | WHERE | WINDOW | WITH
+    : ADD
+    | AFTER
+    | ALL
+    | ALTER
+    | ANALYZE
+    | AND
+    | ANY
+    | ARCHIVE
+    | ARRAY
+    | AS
+    | ASC
+    | AT
+    | AUTHORIZATION
+    | BETWEEN
+    | BOTH
+    | BUCKET
+    | BUCKETS
+    | BY
+    | CACHE
+    | CASCADE
+    | CASE
+    | CAST
+    | CHANGE
+    | CHECK
+    | CLEAR
+    | CLUSTER
+    | CLUSTERED
+    | CODEGEN
+    | COLLATE
+    | COLLECTION
+    | COLUMN
+    | COLUMNS
+    | COMMENT
+    | COMMIT
+    | COMPACT
+    | COMPACTIONS
+    | COMPUTE
+    | CONCATENATE
+    | CONSTRAINT
+    | COST
+    | CREATE
+    | CUBE
+    | CURRENT
+    | CURRENT_DATE
+    | CURRENT_TIME
+    | CURRENT_TIMESTAMP
+    | CURRENT_USER
+    | DATA
+    | DATABASE
+    | DATABASES
+    | DBPROPERTIES
+    | DEFINED
+    | DELETE
+    | DELIMITED
+    | DESC
+    | DESCRIBE
+    | DFS
+    | DIRECTORIES
+    | DIRECTORY
+    | DISTINCT
+    | DISTRIBUTE
+    | DIV
+    | DROP
+    | ELSE
+    | END
+    | ESCAPED
+    | EXCHANGE
+    | EXISTS
+    | EXPLAIN
+    | EXPORT
+    | EXTENDED
+    | EXTERNAL
+    | EXTRACT
+    | FALSE
+    | FETCH
+    | FIELDS
+    | FILEFORMAT
+    | FIRST
+    | FOLLOWING
+    | FOR
+    | FOREIGN
+    | FORMAT
+    | FORMATTED
+    | FROM
+    | FUNCTION
+    | FUNCTIONS
+    | GLOBAL
+    | GRANT
+    | GROUP
+    | GROUPING
+    | HAVING
+    | IF
+    | IGNORE
+    | IMPORT
+    | IN
+    | INDEX
+    | INDEXES
+    | INPATH
+    | INPUTFORMAT
+    | INSERT
+    | INTERVAL
+    | INTO
+    | IS
+    | ITEMS
+    | KEYS
+    | LAST
+    | LATERAL
+    | LAZY
+    | LEADING
+    | LIKE
+    | LIMIT
+    | LINES
+    | LIST
+    | LOAD
+    | LOCAL
+    | LOCATION
+    | LOCK
+    | LOCKS
+    | LOGICAL
+    | MACRO
+    | MAP
+    | MSCK
+    | NO
+    | NOT
+    | NULL
+    | NULLS
+    | OF
+    | ONLY
+    | OPTION
+    | OPTIONS
+    | OR
+    | ORDER
+    | OUT
+    | OUTER
+    | OUTPUTFORMAT
+    | OVER
+    | OVERLAPS
+    | OVERWRITE
+    | PARTITION
+    | PARTITIONED
+    | PARTITIONS
+    | PERCENTLIT
+    | PIVOT
+    | POSITION
+    | PRECEDING
+    | PRIMARY
+    | PRINCIPALS
+    | PURGE
+    | QUERY
+    | RANGE
+    | RECORDREADER
+    | RECORDWRITER
+    | RECOVER
+    | REDUCE
+    | REFERENCES
+    | REFRESH
+    | RENAME
+    | REPAIR
+    | REPLACE
+    | RESET
+    | RESTRICT
+    | REVOKE
+    | RLIKE
+    | ROLE
+    | ROLES
+    | ROLLBACK
+    | ROLLUP
+    | ROW
+    | ROWS
+    | SELECT
+    | SEPARATED
+    | SERDE
+    | SERDEPROPERTIES
+    | SESSION_USER
+    | SET
+    | SETS
+    | SHOW
+    | SKEWED
+    | SOME
+    | SORT
+    | SORTED
+    | START
+    | STATISTICS
+    | STORED
+    | STRATIFY
+    | STRUCT
+    | TABLE
+    | TABLES
+    | TABLESAMPLE
+    | TBLPROPERTIES
+    | TEMPORARY
+    | TERMINATED
+    | THEN
+    | TO
+    | TOUCH
+    | TRAILING
+    | TRANSACTION
+    | TRANSACTIONS
+    | TRANSFORM
+    | TRUE
+    | TRUNCATE
+    | UNARCHIVE
+    | UNBOUNDED
+    | UNCACHE
+    | UNIQUE
+    | UNLOCK
+    | UNSET
+    | USE
+    | USER
+    | VALUES
+    | VIEW
+    | WHEN
+    | WHERE
+    | WINDOW
+    | WITH
     ;
 
 SELECT: 'SELECT';
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/TableIdentifierParserSuite.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/TableIdentifierParserSuite.scala
index 489b7f3..3d41c27 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/TableIdentifierParserSuite.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/parser/TableIdentifierParserSuite.scala
@@ -23,39 +23,263 @@ class TableIdentifierParserSuite extends SparkFunSuite {
   import CatalystSqlParser._
 
   // Add "$elem$", "$value$" & "$key$"
-  val hiveNonReservedKeyword = Array("add", "admin", "after", "analyze", 
"archive", "asc", "before",
-    "bucket", "buckets", "cascade", "change", "cluster", "clustered", 
"clusterstatus", "collection",
-    "columns", "comment", "compact", "compactions", "compute", "concatenate", 
"continue", "cost",
-    "data", "day", "databases", "datetime", "dbproperties", "deferred", 
"defined", "delimited",
-    "dependency", "desc", "directories", "directory", "disable", "distribute",
-    "enable", "escaped", "exclusive", "explain", "export", "fields", "file", 
"fileformat", "first",
-    "format", "formatted", "functions", "hold_ddltime", "hour", 
"idxproperties", "ignore", "index",
-    "indexes", "inpath", "inputdriver", "inputformat", "items", "jar", "keys", 
"key_type", "last",
-    "limit", "offset", "lines", "load", "location", "lock", "locks", 
"logical", "long", "mapjoin",
-    "materialized", "metadata", "minus", "minute", "month", "msck", "noscan", 
"no_drop", "nulls",
-    "offline", "option", "outputdriver", "outputformat", "overwrite", "owner", 
"partitioned",
-    "partitions", "plus", "pretty", "principals", "protection", "purge", 
"read", "readonly",
-    "rebuild", "recordreader", "recordwriter", "reload", "rename", "repair", 
"replace",
-    "replication", "restrict", "rewrite", "role", "roles", "schemas", "second",
-    "serde", "serdeproperties", "server", "sets", "shared", "show", 
"show_database", "skewed",
-    "sort", "sorted", "ssl", "statistics", "stored", "streamtable", "string", 
"struct", "tables",
-    "tblproperties", "temporary", "terminated", "tinyint", "touch", 
"transactions", "unarchive",
-    "undo", "uniontype", "unlock", "unset", "unsigned", "uri", "use", "utc", 
"utctimestamp",
-    "view", "while", "year", "work", "transaction", "write", "isolation", 
"level", "snapshot",
-    "autocommit", "all", "any", "alter", "array", "as", "authorization", 
"between", "bigint",
-    "binary", "boolean", "both", "by", "create", "cube", "current_date", 
"current_timestamp",
-    "cursor", "date", "decimal", "delete", "describe", "double", "drop", 
"exists", "external",
-    "false", "fetch", "float", "for", "grant", "group", "grouping", "import", 
"in",
-    "insert", "int", "into", "is", "pivot", "lateral", "like", "local", 
"none", "null",
-    "of", "order", "out", "outer", "partition", "percent", "procedure", 
"query", "range", "reads",
-    "revoke", "rollup", "row", "rows", "set", "smallint", "table", 
"timestamp", "to", "trigger",
-    "true", "truncate", "update", "user", "values", "with", "regexp", "rlike",
-    "bigint", "binary", "boolean", "current_date", "current_timestamp", 
"date", "double", "float",
-    "int", "smallint", "timestamp", "at", "position", "both", "leading", 
"trailing", "extract")
+  // It is recommended to list them in alphabetical order.
+  val hiveNonReservedKeyword = Array(
+    "add",
+    "admin",
+    "after",
+    "all",
+    "alter",
+    "analyze",
+    "any",
+    "archive",
+    "array",
+    "as",
+    "asc",
+    "at",
+    "authorization",
+    "autocommit",
+    "before",
+    "between",
+    "bigint",
+    "binary",
+    "boolean",
+    "both",
+    "bucket",
+    "buckets",
+    "by",
+    "cascade",
+    "change",
+    "cluster",
+    "clustered",
+    "clusterstatus",
+    "collection",
+    "columns",
+    "comment",
+    "compact",
+    "compactions",
+    "compute",
+    "concatenate",
+    "continue",
+    "cost",
+    "create",
+    "cube",
+    "current_date",
+    "current_timestamp",
+    "cursor",
+    "data",
+    "databases",
+    "date",
+    "datetime",
+    "day",
+    "dbproperties",
+    "decimal",
+    "deferred",
+    "defined",
+    "delete",
+    "delimited",
+    "dependency",
+    "desc",
+    "describe",
+    "directories",
+    "directory",
+    "disable",
+    "distribute",
+    "double",
+    "drop",
+    "enable",
+    "escaped",
+    "exclusive",
+    "exists",
+    "explain",
+    "export",
+    "external",
+    "extract",
+    "false",
+    "fetch",
+    "fields",
+    "file",
+    "fileformat",
+    "first",
+    "float",
+    "for",
+    "format",
+    "formatted",
+    "functions",
+    "grant",
+    "group",
+    "grouping",
+    "hold_ddltime",
+    "hour",
+    "idxproperties",
+    "ignore",
+    "import",
+    "in",
+    "index",
+    "indexes",
+    "inpath",
+    "inputdriver",
+    "inputformat",
+    "insert",
+    "int",
+    "into",
+    "is",
+    "isolation",
+    "items",
+    "jar",
+    "key_type",
+    "keys",
+    "last",
+    "lateral",
+    "leading",
+    "level",
+    "like",
+    "limit",
+    "lines",
+    "load",
+    "local",
+    "location",
+    "lock",
+    "locks",
+    "logical",
+    "long",
+    "mapjoin",
+    "materialized",
+    "metadata",
+    "minus",
+    "minute",
+    "month",
+    "msck",
+    "no_drop",
+    "none",
+    "noscan",
+    "null",
+    "nulls",
+    "of",
+    "offline",
+    "offset",
+    "option",
+    "order",
+    "out",
+    "outer",
+    "outputdriver",
+    "outputformat",
+    "overwrite",
+    "owner",
+    "partition",
+    "partitioned",
+    "partitions",
+    "percent",
+    "pivot",
+    "plus",
+    "position",
+    "pretty",
+    "principals",
+    "procedure",
+    "protection",
+    "purge",
+    "query",
+    "range",
+    "read",
+    "readonly",
+    "reads",
+    "rebuild",
+    "recordreader",
+    "recordwriter",
+    "regexp",
+    "reload",
+    "rename",
+    "repair",
+    "replace",
+    "replication",
+    "restrict",
+    "revoke",
+    "rewrite",
+    "rlike",
+    "role",
+    "roles",
+    "rollup",
+    "row",
+    "rows",
+    "schemas",
+    "second",
+    "serde",
+    "serdeproperties",
+    "server",
+    "set",
+    "sets",
+    "shared",
+    "show",
+    "show_database",
+    "skewed",
+    "smallint",
+    "snapshot",
+    "sort",
+    "sorted",
+    "ssl",
+    "statistics",
+    "stored",
+    "streamtable",
+    "string",
+    "struct",
+    "table",
+    "tables",
+    "tblproperties",
+    "temporary",
+    "terminated",
+    "timestamp",
+    "tinyint",
+    "to",
+    "touch",
+    "trailing",
+    "transaction",
+    "transactions",
+    "trigger",
+    "true",
+    "truncate",
+    "unarchive",
+    "undo",
+    "uniontype",
+    "unlock",
+    "unset",
+    "unsigned",
+    "update",
+    "uri",
+    "use",
+    "user",
+    "utc",
+    "utctimestamp",
+    "values",
+    "view",
+    "while",
+    "with",
+    "work",
+    "write",
+    "year")
 
-  val hiveStrictNonReservedKeyword = Seq("anti", "full", "inner", "left", 
"semi", "right",
-    "natural", "union", "intersect", "except", "database", "on", "join", 
"cross", "select", "from",
-    "where", "having", "from", "to", "table", "with", "not")
+  val hiveStrictNonReservedKeyword = Seq(
+    "anti",
+    "cross",
+    "database",
+    "except",
+    "from",
+    "full",
+    "having",
+    "inner",
+    "intersect",
+    "join",
+    "left",
+    "natural",
+    "not",
+    "on",
+    "right",
+    "select",
+    "semi",
+    "table",
+    "to",
+    "union",
+    "where",
+    "with")
 
   test("table identifier") {
     // Regular names.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to