浏览代码

HUE-8577 [autocomplete] Add all currently reserved keywords for Impala

This will allow the syntax checker to mark them as invalid as well as automatic backticking when inserting identifiers in the editor from the autocomplete.
Johan Ahlen 7 年之前
父节点
当前提交
8c7afe9

文件差异内容过多而无法显示
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/ace/mode-impala.js


+ 204 - 8
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql.jisonlex

@@ -210,76 +210,228 @@
 // Reserved Keywords
 <impala>'ADD'                              { return '<impala>ADD'; }
 <impala>'AGGREGATE'                        { return '<impala>AGGREGATE'; }
+<impala>'ALLOCATE'                         { return '<impala>ALLOCATE'; }
 <impala>'ANALYTIC'                         { return '<impala>ANALYTIC'; }
 <impala>'ANTI'                             { return '<impala>ANTI'; }
+<impala>'ANY'                              { return '<impala>ANY'; }
+<impala>'ARE'                              { return '<impala>ARE'; }
+<impala>'ARRAY_AGG'                        { return '<impala>ARRAY_AGG'; }
+<impala>'ARRAY_MAX_CARDINALITY'            { return '<impala>ARRAY_MAX_CARDINALITY'; }
+<impala>'ASENSITIVE'                       { return '<impala>ASENSITIVE'; }
+<impala>'ASYMMETRIC'                       { return '<impala>ASYMMETRIC'; }
+<impala>'AT'                               { return '<impala>AT'; }
+<impala>'ATOMIC'                           { return '<impala>ATOMIC'; }
+<impala>'AUTHORIZATION'                    { return '<impala>AUTHORIZATION'; }
 <impala>'AVRO'                             { return '<impala>AVRO'; }
+<impala>'BEGIN_FRAME'                      { return '<impala>BEGIN_FRAME'; }
+<impala>'BEGIN_PARTITION'                  { return '<impala>BEGIN_PARTITION'; }
+<impala>'BLOB'                             { return '<impala>BLOB'; }
+<impala>'BLOCK_SIZE'                       { return '<impala>BLOCK_SIZE'; }
+<impala>'BOTH'                             { return '<impala>BOTH'; }
 <impala>'CACHED'                           { return '<impala>CACHED'; }
+<impala>'CALLED'                           { return '<impala>CALLED'; }
+<impala>'CARDINALITY'                      { return '<impala>CARDINALITY'; }
 <impala>'CASCADE'                          { return '<impala>CASCADE'; }
+<impala>'CASCADED'                         { return '<impala>CASCADED'; }
 <impala>'CHANGE'                           { return '<impala>CHANGE'; }
+<impala>'CHARACTER'                        { return '<impala>CHARACTER'; }
+<impala>'CLOB'                             { return '<impala>CLOB'; }
 <impala>'CLOSE_FN'                         { return '<impala>CLOSE_FN'; }
+<impala>'COLLATE'                          { return '<impala>COLLATE'; }
+<impala>'COLLECT'                          { return '<impala>COLLECT'; }
 <impala>'COLUMN'                           { return '<impala>COLUMN'; }
 <impala>'COLUMNS'                          { return '<impala>COLUMNS'; }
 <impala>'COMMENT'                          { parser.determineCase(yytext); return '<impala>COMMENT'; }
+<impala>'COMMIT'                           { return '<impala>COMMIT'; }
 <impala>'COMPRESSION'                      { return '<impala>COMPRESSION'; }
 <impala>'COMPUTE'                          { parser.determineCase(yytext); return '<impala>COMPUTE'; }
+<impala>'CONDITION'                        { return '<impala>CONDITION'; }
+<impala>'CONNECT'                          { return '<impala>CONNECT'; }
+<impala>'CONSTRAINT'                       { return '<impala>CONSTRAINT'; }
+<impala>'CONTAINS'                         { return '<impala>CONTAINS'; }
+<impala>'CONVERT'                          { return '<impala>CONVERT'; }
+<impala>'COPY'                             { return '<impala>COPY'; }
+<impala>'CORR'                             { return '<impala>CORR'; }
+<impala>'CORRESPONDING'                    { return '<impala>CORRESPONDING'; }
+<impala>'COVAR_POP'                        { return '<impala>COVAR_POP'; }
+<impala>'COVAR_SAMP'                       { return '<impala>COVAR_SAMP'; }
 <impala>'CREATE'                           { parser.determineCase(yytext); parser.addStatementTypeLocation('CREATE', yylloc, yy.lexer.upcomingInput()); return '<impala>CREATE'; }
+<impala>'CUBE'                             { return '<impala>CUBE'; }
 <impala>'CURRENT'                          { return '<impala>CURRENT'; }
+<impala>'CURRENT_DATE'                     { return '<impala>CURRENT_DATE'; }
+<impala>'CURRENT_DEFAULT_TRANSFORM_GROUP'  { return '<impala>CURRENT_DEFAULT_TRANSFORM_GROUP'; }
+<impala>'CURRENT_PATH'                     { return '<impala>CURRENT_PATH'; }
+<impala>'CURRENT_ROLE'                     { return '<impala>CURRENT_ROLE'; }
+<impala>'CURRENT_ROW'                      { return '<impala>CURRENT_ROW'; }
+<impala>'CURRENT_SCHEMA'                   { return '<impala>CURRENT_SCHEMA'; }
+<impala>'CURRENT_TIME'                     { return '<impala>CURRENT_TIME'; }
+<impala>'CURRENT_TRANSFORM_GROUP_FOR_TYPE' { return '<impala>CURRENT_TRANSFORM_GROUP_FOR_TYPE'; }
+<impala>'CURSOR'                           { return '<impala>CURSOR'; }
+<impala>'CYCLE'                            { return '<impala>CYCLE'; }
 <impala>'DATA'                             { return '<impala>DATA'; }
 <impala>'DATABASES'                        { return '<impala>DATABASES'; }
+<impala>'DEALLOCATE'                       { return '<impala>DEALLOCATE'; }
+<impala>'DEC'                              { return '<impala>DEC'; }
+<impala>'DECFLOAT'                         { return '<impala>DECFLOAT'; }
+<impala>'DECLARE'                          { return '<impala>DECLARE'; }
+<impala>'DEFINE'                           { return '<impala>DEFINE'; }
 <impala>'DELETE'                           { return '<impala>DELETE'; }
 <impala>'DELIMITED'                        { return '<impala>DELIMITED'; }
+<impala>'DEREF'                            { return '<impala>DEREF'; }
 <impala>'DESCRIBE'                         { parser.determineCase(yytext); parser.addStatementTypeLocation('DESCRIBE', yylloc); return '<impala>DESCRIBE'; }
+<impala>'DETERMINISTIC'                    { return '<impala>DETERMINISTIC'; }
+<impala>'DISCONNECT'                       { return '<impala>DISCONNECT'; }
+<impala>'DYNAMIC'                          { return '<impala>DYNAMIC'; }
+<impala>'EACH'                             { return '<impala>EACH'; }
+<impala>'ELEMENT'                          { return '<impala>ELEMENT'; }
+<impala>'EMPTY'                            { return '<impala>EMPTY'; }
 <impala>'ENCODING'                         { return '<impala>ENCODING'; }
+<impala>'END_FRAME'                        { return '<impala>END_FRAME'; }
+<impala>'END_PARTITION'                    { return '<impala>END_PARTITION'; }
+<impala>'EQUALS'                           { return '<impala>EQUALS'; }
+<impala>'ESCAPE'                           { return '<impala>ESCAPE'; }
 <impala>'ESCAPED'                          { return '<impala>ESCAPED'; }
+<impala>'EVERY'                            { return '<impala>EVERY'; }
+<impala>'EXCEPT'                           { return '<impala>EXCEPT'; }
+<impala>'EXEC'                             { return '<impala>EXEC'; }
+<impala>'EXECUTE'                          { return '<impala>EXECUTE'; }
 <impala>'EXPLAIN'                          { parser.determineCase(yytext); parser.addStatementTypeLocation('EXPLAIN', yylloc); return '<impala>EXPLAIN'; }
-<impala>'EXTERNAL'                         { return '<impala>EXTERNAL'; }
 <impala>'EXTENDED'                         { return '<impala>EXTENDED'; }
+<impala>'EXTERNAL'                         { return '<impala>EXTERNAL'; }
+<impala>'FETCH'                            { return '<impala>FETCH'; }
 <impala>'FIELDS'                           { return '<impala>FIELDS'; }
 <impala>'FILEFORMAT'                       { return '<impala>FILEFORMAT'; }
 <impala>'FILES'                            { return '<impala>FILES'; }
+<impala>'FILTER'                           { return '<impala>FILTER'; }
 <impala>'FINALIZE_FN'                      { return '<impala>FINALIZE_FN'; }
 <impala>'FIRST'                            { return '<impala>FIRST'; }
+<impala>'FOR'                              { return '<impala>FOR'; }
+<impala>'FOREIGN'                          { return '<impala>FOREIGN'; }
 <impala>'FORMAT'                           { return '<impala>FORMAT'; }
 <impala>'FORMATTED'                        { return '<impala>FORMATTED'; }
+<impala>'FRAME_ROW'                        { return '<impala>FRAME_ROW'; }
+<impala>'FREE'                             { return '<impala>FREE'; }
 <impala>'FUNCTION'                         { return '<impala>FUNCTION'; }
 <impala>'FUNCTIONS'                        { return '<impala>FUNCTIONS'; }
+<impala>'FUSION'                           { return '<impala>FUSION'; }
+<impala>'GET'                              { return '<impala>GET'; }
+<impala>'GLOBAL'                           { return '<impala>GLOBAL'; }
 <impala>'GRANT'                            { return '<impala>GRANT'; }
 <impala>'GROUP'                            { return '<impala>GROUP'; }
+<impala>'GROUPING'                         { return '<impala>GROUPING'; }
+<impala>'GROUPS'                           { return '<impala>GROUPS'; }
 <impala>'HASH'                             { return '<impala>HASH'; }
+<impala>'HOLD'                             { return '<impala>HOLD'; }
+<impala>'IGNORE'                           { return '<impala>IGNORE'; }
 <impala>'ILIKE'                            { return '<impala>ILIKE'; }
 <impala>'INCREMENTAL'                      { return '<impala>INCREMENTAL'; }
+<impala>'INDICATOR'                        { return '<impala>INDICATOR'; }
+<impala>'INIT_FN'                          { return '<impala>INIT_FN'; }
+<impala>'INITIAL'                          { return '<impala>INITIAL'; }
+<impala>'INOUT'                            { return '<impala>INOUT'; }
+<impala>'INPATH'                           { this.begin('hdfs'); return '<impala>INPATH'; }
+<impala>'INSENSITIVE'                      { return '<impala>INSENSITIVE'; }
 <impala>'INSERT'                           { parser.determineCase(yytext); parser.addStatementTypeLocation('INSERT', yylloc); return '<impala>INSERT'; }
-<impala>'INTERVAL'                         { return '<impala>INTERVAL'; }
 <impala>'INTERMEDIATE'                     { return '<impala>INTERMEDIATE'; }
-<impala>'INIT_FN'                          { return '<impala>INIT_FN'; }
+<impala>'INTERSECT'                        { return '<impala>INTERSECT'; }
+<impala>'INTERSECTION'                     { return '<impala>INTERSECTION'; }
+<impala>'INTERVAL'                         { return '<impala>INTERVAL'; }
 <impala>'INVALIDATE'                       { parser.determineCase(yytext); parser.addStatementTypeLocation('INVALIDATE', yylloc, yy.lexer.upcomingInput()); return '<impala>INVALIDATE'; }
-<impala>'INPATH'                           { this.begin('hdfs'); return '<impala>INPATH'; }
 <impala>'IREGEXP'                          { return '<impala>IREGEXP'; }
+<impala>'JSON_ARRAY'                       { return '<impala>JSON_ARRAY'; }
+<impala>'JSON_ARRAYAGG'                    { return '<impala>JSON_ARRAYAGG'; }
+<impala>'JSON_EXISTS'                      { return '<impala>JSON_EXISTS'; }
+<impala>'JSON_OBJECT'                      { return '<impala>JSON_OBJECT'; }
+<impala>'JSON_OBJECTAGG'                   { return '<impala>JSON_OBJECTAGG'; }
+<impala>'JSON_QUERY'                       { return '<impala>JSON_QUERY'; }
+<impala>'JSON_TABLE'                       { return '<impala>JSON_TABLE'; }
+<impala>'JSON_TABLE_PRIMITIVE'             { return '<impala>JSON_TABLE_PRIMITIVE'; }
+<impala>'JSON_VALUE'                       { return '<impala>JSON_VALUE'; }
 <impala>'KEY'                              { return '<impala>KEY'; }
 <impala>'KUDU'                             { return '<impala>KUDU'; }
+<impala>'LARGE'                            { return '<impala>LARGE'; }
 <impala>'LAST'                             { return '<impala>LAST'; }
+<impala>'LATERAL'                          { return '<impala>LATERAL'; }
+<impala>'LEADING'                          { return '<impala>LEADING'; }
 <impala>LIKE\s+PARQUET                     { this.begin('hdfs'); return '<impala>LIKE_PARQUET'; }
+<impala>'LIKE_REGEX'                       { return '<impala>LIKE_REGEX'; }
 <impala>'LIMIT'                            { return '<impala>LIMIT'; }
 <impala>'LINES'                            { return '<impala>LINES'; }
+<impala>'LISTAGG'                          { return '<impala>LISTAGG'; }
 <impala>'LOAD'                             { parser.determineCase(yytext); parser.addStatementTypeLocation('LOAD', yylloc, yy.lexer.upcomingInput()); return '<impala>LOAD'; }
+<impala>'LOCAL'                            { return '<impala>LOCAL'; }
+<impala>'LOCALTIMESTAMP'                   { return '<impala>LOCALTIMESTAMP'; }
 <impala>'LOCATION'                         { this.begin('hdfs'); return '<impala>LOCATION'; }
+<impala>'MATCH'                            { return '<impala>MATCH'; }
+<impala>'MATCH_NUMBER'                     { return '<impala>MATCH_NUMBER'; }
+<impala>'MATCH_RECOGNIZE'                  { return '<impala>MATCH_RECOGNIZE'; }
+<impala>'MATCHES'                          { return '<impala>MATCHES'; }
+<impala>'MERGE'                            { return '<impala>MERGE'; }
 <impala>'MERGE_FN'                         { return '<impala>MERGE_FN'; }
 <impala>'METADATA'                         { return '<impala>METADATA'; }
 <impala>'METHOD'                           { return '<impala>METHOD'; }
+<impala>'MODIFIES'                         { return '<impala>MODIFIES'; }
+<impala>'MULTISET'                         { return '<impala>MULTISET'; }
+<impala>'NATIONAL'                         { return '<impala>NATIONAL'; }
+<impala>'NATURAL'                          { return '<impala>NATURAL'; }
+<impala>'NCHAR'                            { return '<impala>NCHAR'; }
+<impala>'NCLOB'                            { return '<impala>NCLOB'; }
+<impala>'NO'                               { return '<impala>NO'; }
+<impala>'NONE'                             { return '<impala>NONE'; }
+<impala>'NORMALIZE'                        { return '<impala>NORMALIZE'; }
+<impala>'NTH_VALUE'                        { return '<impala>NTH_VALUE'; }
 <impala>'NULLS'                            { return '<impala>NULLS'; }
+<impala>'NUMERIC'                          { return '<impala>NUMERIC'; }
+<impala>'OCCURRENCES_REGEX'                { return '<impala>OCCURRENCES_REGEX'; }
+<impala>'OCTET_LENGTH'                     { return '<impala>OCTET_LENGTH'; }
+<impala>'OF'                               { return '<impala>OF'; }
 <impala>'OFFSET'                           { return '<impala>OFFSET'; }
+<impala>'OMIT'                             { return '<impala>OMIT'; }
+<impala>'ONE'                              { return '<impala>ONE'; }
+<impala>'ONLY'                             { return '<impala>ONLY'; }
 <impala>'ORC'                              { return '<impala>ORC'; }
+<impala>'OUT'                              { return '<impala>OUT'; }
+<impala>'OVER'                             { return '<impala>OVER'; }
+<impala>'OVERLAPS'                         { return '<impala>OVERLAPS'; }
+<impala>'OVERLAY'                          { return '<impala>OVERLAY'; }
 <impala>'OVERWRITE'                        { return '<impala>OVERWRITE'; }
 <impala>'PARQUET'                          { return '<impala>PARQUET'; }
+<impala>PARTITION\s+VALUE\s                { return '<impala>PARTITION_VALUE'; }
 <impala>'PARTITIONED'                      { return '<impala>PARTITIONED'; }
 <impala>'PARTITIONS'                       { return '<impala>PARTITIONS'; }
+<impala>'PATTERN'                          { return '<impala>PATTERN'; }
+<impala>'PER'                              { return '<impala>PER'; }
+<impala>'PERCENT'                          { return '<impala>PERCENT'; }
+<impala>'PERCENTILE_CONT'                  { return '<impala>PERCENTILE_CONT'; }
+<impala>'PERCENTILE_DISC'                  { return '<impala>PERCENTILE_DISC'; }
+<impala>'PORTION'                          { return '<impala>PORTION'; }
+<impala>'POSITION'                         { return '<impala>POSITION'; }
+<impala>'POSITION_REGEX'                   { return '<impala>POSITION_REGEX'; }
+<impala>'PRECEDES'                         { return '<impala>PRECEDES'; }
+<impala>'PREPARE'                          { return '<impala>PREPARE'; }
 <impala>'PREPARE_FN'                       { return '<impala>PREPARE_FN'; }
 <impala>'PRIMARY'                          { return '<impala>PRIMARY'; }
-<impala>'RCFILE'                           { return '<impala>RCFILE'; }
+<impala>'PROCEDURE'                        { return '<impala>PROCEDURE'; }
+<impala>'PTF'                              { return '<impala>PTF'; }
 <impala>'RANGE'                            { return '<impala>RANGE'; }
+<impala>'RCFILE'                           { return '<impala>RCFILE'; }
+<impala>'READS'                            { return '<impala>READS'; }
 <impala>'REAL'                             { return '<impala>REAL'; }
 <impala>'RECOVER'                          { return '<impala>RECOVER'; }
+<impala>'RECURSIVE'                        { return '<impala>RECURSIVE'; }
+<impala>'REF'                              { return '<impala>REF'; }
+<impala>'REFERENCES'                       { return '<impala>REFERENCES'; }
+<impala>'REFERENCING'                      { return '<impala>REFERENCING'; }
 <impala>'REFRESH'                          { parser.determineCase(yytext); parser.addStatementTypeLocation('REFRESH', yylloc); return '<impala>REFRESH'; }
+<impala>'REGR_AVGX'                        { return '<impala>REGR_AVGX'; }
+<impala>'REGR_AVGY'                        { return '<impala>REGR_AVGY'; }
+<impala>'REGR_COUNT'                       { return '<impala>REGR_COUNT'; }
+<impala>'REGR_INTERCEPT'                   { return '<impala>REGR_INTERCEPT'; }
+<impala>'REGR_R2REGR_SLOPE'                { return '<impala>REGR_R2REGR_SLOPE'; }
+<impala>'REGR_SXX'                         { return '<impala>REGR_SXX'; }
+<impala>'REGR_SXY'                         { return '<impala>REGR_SXY'; }
+<impala>'REGR_SYY'                         { return '<impala>REGR_SYY'; }
+<impala>'RELEASE'                          { return '<impala>RELEASE'; }
 <impala>'RENAME'                           { return '<impala>RENAME'; }
 <impala>'REPEATABLE'                       { return '<impala>REPEATABLE'; }
 <impala>'REPLACE'                          { return '<impala>REPLACE'; }
@@ -289,33 +441,77 @@
 <impala>'REVOKE'                           { parser.determineCase(yytext); parser.addStatementTypeLocation('REVOKE', yylloc); return '<impala>REVOKE'; }
 <impala>'ROLE'                             { return '<impala>ROLE'; }
 <impala>'ROLES'                            { return '<impala>ROLES'; }
+<impala>'ROLLBACK'                         { return '<impala>ROLLBACK'; }
+<impala>'ROLLUP'                           { return '<impala>ROLLUP'; }
+<impala>'RUNNING'                          { return '<impala>RUNNING'; }
+<impala>'SAVEPOINT'                        { return '<impala>SAVEPOINT'; }
+<impala>'SCHEMAS'                          { return '<impala>SCHEMAS'; }
+<impala>'SCOPE'                            { return '<impala>SCOPE'; }
+<impala>'SCROLL'                           { return '<impala>SCROLL'; }
+<impala>'SEARCH'                           { return '<impala>SEARCH'; }
+<impala>'SEEK'                             { return '<impala>SEEK'; }
+<impala>'SENSITIVE'                        { return '<impala>SENSITIVE'; }
 <impala>'SEQUENCEFILE'                     { return '<impala>SEQUENCEFILE'; }
 <impala>'SERDEPROPERTIES'                  { return '<impala>SERDEPROPERTIES'; }
-<impala>'SCHEMAS'                          { return '<impala>SCHEMAS'; }
 <impala>'SERIALIZE_FN'                     { return '<impala>SERIALIZE_FN'; }
 <impala>'SERVER'                           { return '<impala>SERVER'; }
+<impala>'SIMILAR'                          { return '<impala>SIMILAR'; }
+<impala>'SKIP'                             { return '<impala>SKIP'; }
+<impala>'SOME'                             { return '<impala>SOME'; }
 <impala>'SORT'                             { return '<impala>SORT'; }
+<impala>'SPECIFIC'                         { return '<impala>SPECIFIC'; }
+<impala>'SPECIFICTYPE'                     { return '<impala>SPECIFICTYPE'; }
+<impala>'SQLEXCEPTION'                     { return '<impala>SQLEXCEPTION'; }
+<impala>'SQLSTATE'                         { return '<impala>SQLSTATE'; }
+<impala>'SQLWARNING'                       { return '<impala>SQLWARNING'; }
+<impala>'STATIC'                           { return '<impala>STATIC'; }
 <impala>'STATS'                            { return '<impala>STATS'; }
 <impala>'STORED'                           { return '<impala>STORED'; }
 <impala>'STRAIGHT_JOIN'                    { return '<impala>STRAIGHT_JOIN'; }
+<impala>'SUBMULTISET'                      { return '<impala>SUBMULTISET'; }
+<impala>'SUBSET'                           { return '<impala>SUBSET'; }
+<impala>'SUBSTRING_REGEX'                  { return '<impala>SUBSTRING_REGEX'; }
+<impala>'SUCCEEDS'                         { return '<impala>SUCCEEDS'; }
 <impala>'SYMBOL'                           { return '<impala>SYMBOL'; }
+<impala>'SYMMETRIC'                        { return '<impala>SYMMETRIC'; }
+<impala>'SYSTEM_TIME'                      { return '<impala>SYSTEM_TIME'; }
+<impala>'SYSTEM_USER'                      { return '<impala>SYSTEM_USER'; }
 <impala>'TABLE'                            { return '<impala>TABLE'; }
 <impala>'TABLES'                           { return '<impala>TABLES'; }
 <impala>'TABLESAMPLE'                      { return '<impala>TABLESAMPLE'; }
 <impala>'TBLPROPERTIES'                    { return '<impala>TBLPROPERTIES'; }
 <impala>'TERMINATED'                       { return '<impala>TERMINATED'; }
 <impala>'TEXTFILE'                         { return '<impala>TEXTFILE'; }
+<impala>'TIMEZONE_HOUR'                    { return '<impala>TIMEZONE_HOUR'; }
+<impala>'TIMEZONE_MINUTE'                  { return '<impala>TIMEZONE_MINUTE'; }
+<impala>'TRAILING'                         { return '<impala>TRAILING'; }
+<impala>'TRANSLATE_REGEX'                  { return '<impala>TRANSLATE_REGEX'; }
+<impala>'TRANSLATION'                      { return '<impala>TRANSLATION'; }
+<impala>'TREAT'                            { return '<impala>TREAT'; }
+<impala>'TRIGGER'                          { return '<impala>TRIGGER'; }
+<impala>'TRIM_ARRAY'                       { return '<impala>TRIM_ARRAY'; }
+<impala>'UESCAPE'                          { return '<impala>UESCAPE'; }
 <impala>'UNCACHED'                         { return '<impala>UNCACHED'; }
+<impala>'UNIQUE'                           { return '<impala>UNIQUE'; }
 <impala>'UNKNOWN'                          { return '<impala>UNKNOWN'; }
+<impala>'UNNEST'                           { return '<impala>UNNEST'; }
 <impala>'UPDATE_FN'                        { return '<impala>UPDATE_FN'; }
 <impala>'UPSERT'                           { parser.determineCase(yytext); parser.addStatementTypeLocation('UPSERT', yylloc); return '<impala>UPSERT'; }
 <impala>'URI'                              { return '<impala>URI'; }
 <impala>'USING'                            { return '<impala>USING'; }
-<impala>PARTITION\s+VALUE\s                { return '<impala>PARTITION_VALUE'; }
+<impala>'VALUE_OF'                         { return '<impala>VALUE_OF'; }
+<impala>'VARBINARY'                        { return '<impala>VARBINARY'; }
+<impala>'VARCHAR'                          { return '<impala>VARCHAR'; }
+<impala>'VARYING'                          { return '<impala>VARYING'; }
+<impala>'VERSIONING'                       { return '<impala>VERSIONING'; }
+<impala>'WHENEVER'                         { return '<impala>WHENEVER'; }
+<impala>'WIDTH_BUCKET'                     { return '<impala>WIDTH_BUCKET'; }
+<impala>'WINDOW'                           { return '<impala>WINDOW'; }
+<impala>'WITHIN'                           { return '<impala>WITHIN'; }
+<impala>'WITHOUT'                          { return '<impala>WITHOUT'; }
 
 // Non-reserved Keywords
 <impala>'ARRAY'                            { return 'ARRAY'; }
-<impala>'BLOCK_SIZE'                       { return '<impala>BLOCK_SIZE'; }
 <impala>'DEFAULT'                          { return '<impala>DEFAULT'; }
 <impala>'MAP'                              { return 'MAP'; }
 <impala>'STRUCT'                           { return 'STRUCT'; }

文件差异内容过多而无法显示
+ 1 - 2
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_main.jison


+ 1 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/spec/sqlSpec.js

@@ -330,6 +330,7 @@
         assertAutoComplete({
           beforeCursor: 'set hive.exec.compress.output=true;',
           afterCursor: '',
+          dialect: 'hive',
           noErrors: true,
           containsKeywords: ['SELECT'],
           expectedResult: {

+ 2 - 2
desktop/core/src/desktop/static/desktop/js/autocomplete/spec/sqlSpecCreate.js

@@ -1085,9 +1085,9 @@
         });
       });
 
-      it('should suggest keywords for "CREATE TABLE foo (id INT, some FLOAT, bar |"', function () {
+      it('should suggest keywords for "CREATE TABLE foo (id INT, `some` FLOAT, bar |"', function () {
         assertAutoComplete({
-          beforeCursor: 'CREATE TABLE foo (id INT, some FLOAT, bar ',
+          beforeCursor: 'CREATE TABLE foo (id INT, `some` FLOAT, bar ',
           afterCursor: '',
           containsKeywords: ['BOOLEAN'],
           expectedResult: {

文件差异内容过多而无法显示
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sqlAutocompleteParser.js


文件差异内容过多而无法显示
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sqlSyntaxParser.js


+ 34 - 7
desktop/core/src/desktop/static/desktop/js/sqlUtils.js

@@ -36,13 +36,40 @@ var SqlUtils = (function () {
   };
 
   var impalaReservedKeywords = {
-    ADD: true, AGGREGATE: true, ALL: true, ALTER: true, ANALYTIC: true, AND: true, ANTI: true, API_VERSION: true, ARRAY: true, AS: true, ASC: true, AVRO: true, BETWEEN: true, BIGINT: true, BINARY: true, BOOLEAN: true, BY: true, CACHED: true, CASE: true, CAST: true, CHANGE: true, CHAR: true, CLASS: true, CLOSE_FN: true,
-    COLUMN: true, COLUMNS: true, COMMENT: true, COMPRESSION: true, COMPUTE: true, CREATE: true, CROSS: true, CURRENT: true, DATA: true, DATABASE: true, DATABASES: true, DATE: true, DATETIME: true, DECIMAL: true, DELIMITED: true, DESC: true, DESCRIBE: true, DISTINCT: true, DIV: true, DOUBLE: true, DROP: true, ELSE: true, ENCODING: true, END: true,
-    ESCAPED: true, EXISTS: true, EXPLAIN: true, EXTERNAL: true, FALSE: true, FIELDS: true, FILEFORMAT: true, FILES: true, FINALIZE_FN: true, FIRST: true, FLOAT: true, FORMAT: true, FORMATTED: true, FROM: true, FULL: true, FUNCTION: true, FUNCTIONS: true, GRANT: true, GROUP: true, HAVING: true, IF: true, ILIKE: true, IN: true, INCREMENTAL: true,
-    INIT_FN: true, INNER: true, INPATH: true, INSERT: true, INT: true, INTEGER: true, INTERMEDIATE: true, INTERVAL: true, INTO: true, INVALIDATE: true, IS: true, JOIN: true, KEY: true, KUDU: true, LAST: true, LEFT: true, LIKE: true, LIMIT: true, LINES: true, LOAD: true, LOCATION: true, MAP: true, MERGE_FN: true, METADATA: true,
-    METHOD: true, NOT: true, NULL: true, NULLS: true, OFFSET: true, ON: true, OR: true, ORDER: true, OUTER: true, OVERWRITE: true, PARQUET: true, PARQUETFILE: true, PARTITION: true, PARTITIONED: true, PARTITIONS: true, PREPARE_FN: true, PRIMARY: true, PRODUCED: true, PURGE: true, RCFILE: true, REAL: true, RECOVER: true, REFRESH: true, REGEXP: true, RENAME: true,
-    REPEATABLE: true, REPLACE: true, RETURNS: true, RIGHT: true, RLIKE: true, ROLE: true, ROLES: true, ROW: true, SCHEMA: true, SCHEMAS: true, SELECT: true, SEMI: true, SEQUENCEFILE: true, SERDEPROPERTIES: true, SERIALIZE_FN: true, SET: true, SHOW: true, SMALLINT: true, SORT: true, STATS: true, STORED: true, STRAIGHT_JOIN: true, STRING: true, STRUCT: true, SYMBOL: true, TABLE: true,
-    TABLES: true, TABLESAMPLE: true, TBLPROPERTIES: true, TERMINATED: true, TEXTFILE: true, THEN: true, TIMESTAMP: true, TINYINT: true, TO: true, TRUE: true, UNCACHED: true, UNION: true, UNKNOWN: true, UPDATE_FN: true, UPSERT: true, USE: true, USING: true, VALUES: true, VIEW: true, WHEN: true, WHERE: true, WITH: true
+    ADD: true, AGGREGATE: true, ALL: true, ALLOCATE: true, ALTER: true, ANALYTIC: true, AND: true, ANTI: true, ANY: true, API_VERSION: true, ARE: true, ARRAY: true, ARRAY_AGG: true,
+    ARRAY_MAX_CARDINALITY: true, AS: true, ASC: true, ASENSITIVE: true, ASYMMETRIC: true, AT: true, ATOMIC: true, AUTHORIZATION: true, AVRO: true, BEGIN_FRAME: true, BEGIN_PARTITION: true,
+    BETWEEN: true, BIGINT: true, BINARY: true, BLOB: true, BLOCK_SIZE: true, BOOLEAN: true, BOTH: true, BY: true, CACHED: true, CALLED: true, CARDINALITY: true, CASCADE: true,
+    CASCADED: true, CASE: true, CAST: true, CHANGE: true, CHAR: true, CHARACTER: true, CLASS: true, CLOB: true, CLOSE_FN: true, COLLATE: true, COLLECT: true, COLUMN: true, COLUMNS: true,
+    COMMENT: true, COMMIT: true, COMPRESSION: true, COMPUTE: true, CONDITION: true, CONNECT: true, CONSTRAINT: true, CONTAINS: true, CONVERT: true, COPY: true, CORR: true,
+    CORRESPONDING: true, COVAR_POP: true, COVAR_SAMP: true, CREATE: true, CROSS: true, CUBE: true, CURRENT: true, CURRENT_DATE: true, CURRENT_DEFAULT_TRANSFORM_GROUP: true,
+    CURRENT_PATH: true, CURRENT_ROLE: true, CURRENT_ROW: true, CURRENT_SCHEMA: true, CURRENT_TIME: true, CURRENT_TRANSFORM_GROUP_FOR_TYPE: true, CURSOR: true, CYCLE: true, DATA: true,
+    DATABASE: true, DATABASES: true, DATE: true, DATETIME: true, DEALLOCATE: true, DEC: true, DECFLOAT: true, DECIMAL: true, DECLARE: true, DEFINE: true, DELETE: true, DELIMITED: true,
+    DEREF: true, DESC: true, DESCRIBE: true, DETERMINISTIC: true, DISCONNECT: true, DISTINCT: true, DIV: true, DOUBLE: true, DROP: true, DYNAMIC: true, EACH: true, ELEMENT: true,
+    ELSE: true, EMPTY: true, ENCODING: true, END: true, END_FRAME: true, END_PARTITION: true, EQUALS: true, ESCAPE: true, ESCAPED: true, EVERY: true, EXCEPT: true, EXEC: true,
+    EXECUTE: true, EXISTS: true, EXPLAIN: true, EXTENDED: true, EXTERNAL: true, FALSE: true, FETCH: true, FIELDS: true, FILEFORMAT: true, FILES: true, FILTER: true, FINALIZE_FN: true,
+    FIRST: true, FLOAT: true, FOLLOWING: true, FOR: true, FOREIGN: true, FORMAT: true, FORMATTED: true, FRAME_ROW: true, FREE: true, FROM: true, FULL: true, FUNCTION: true,
+    FUNCTIONS: true, FUSION: true, GET: true, GLOBAL: true, GRANT: true, GROUP: true, GROUPING: true, GROUPS: true, HASH: true, HAVING: true, HOLD: true, IF: true, IGNORE: true,
+    ILIKE: true, IN: true, INCREMENTAL: true, INDICATOR: true, INIT_FN: true, INITIAL: true, INNER: true, INOUT: true, INPATH: true, INSENSITIVE: true, INSERT: true, INT: true,
+    INTEGER: true, INTERMEDIATE: true, INTERSECT: true, INTERSECTION: true, INTERVAL: true, INTO: true, INVALIDATE: true, IREGEXP: true, IS: true, JOIN: true, JSON_ARRAY: true,
+    JSON_ARRAYAGG: true, JSON_EXISTS: true, JSON_OBJECT: true, JSON_OBJECTAGG: true, JSON_QUERY: true, JSON_TABLE: true, JSON_TABLE_PRIMITIVE: true, JSON_VALUE: true, KEY: true,
+    KUDU: true, LARGE: true, LAST: true, LATERAL: true, LEADING: true, LEFT: true, LIKE: true, LIKE_REGEX: true, LIMIT: true, LINES: true, LISTAGG: true, LOAD: true, LOCAL: true,
+    LOCALTIMESTAMP: true, LOCATION: true, MAP: true, MATCH: true, MATCH_NUMBER: true, MATCH_RECOGNIZE: true, MATCHES: true, MERGE: true, MERGE_FN: true, METADATA: true, METHOD: true,
+    MODIFIES: true, MULTISET: true, NATIONAL: true, NATURAL: true, NCHAR: true, NCLOB: true, NO: true, NONE: true, NORMALIZE: true, NOT: true, NTH_VALUE: true, NULL: true, NULLS: true,
+    NUMERIC: true, OCCURRENCES_REGEX: true, OCTET_LENGTH: true, OF: true, OFFSET: true, OMIT: true, ON: true, ONE: true, ONLY: true, OR: true, ORDER: true, OUT: true, OUTER: true,
+    OVER: true, OVERLAPS: true, OVERLAY: true, OVERWRITE: true, PARQUET: true, PARQUETFILE: true, PARTITION: true, PARTITIONED: true, PARTITIONS: true, PATTERN: true, PER: true,
+    PERCENT: true, PERCENTILE_CONT: true, PERCENTILE_DISC: true, PORTION: true, POSITION: true, POSITION_REGEX: true, PRECEDES: true, PRECEDING: true, PREPARE: true, PREPARE_FN: true,
+    PRIMARY: true, PROCEDURE: true, PRODUCED: true, PTF: true, PURGE: true, RANGE: true, RCFILE: true, READS: true, REAL: true, RECOVER: true, RECURSIVE: true, REF: true,
+    REFERENCES: true, REFERENCING: true, REFRESH: true, REGEXP: true, REGR_AVGX: true, REGR_AVGY: true, REGR_COUNT: true, REGR_INTERCEPT: true, REGR_R2: true,REGR_SLOPE: true,
+    REGR_SXX: true, REGR_SXY: true, REGR_SYY: true, RELEASE: true, RENAME: true, REPEATABLE: true, REPLACE: true, REPLICATION: true, RESTRICT: true, RETURNS: true, REVOKE: true,
+    RIGHT: true, RLIKE: true, ROLE: true, ROLES: true, ROLLBACK: true, ROLLUP: true, ROW: true, ROWS: true, RUNNING: true, SAVEPOINT: true, SCHEMA: true, SCHEMAS: true, SCOPE: true,
+    SCROLL: true, SEARCH: true, SEEK: true, SELECT: true, SEMI: true, SENSITIVE: true, SEQUENCEFILE: true, SERDEPROPERTIES: true, SERIALIZE_FN: true, SET: true, SHOW: true,
+    SIMILAR: true, SKIP: true, SMALLINT: true, SOME: true, SORT: true, SPECIFIC: true, SPECIFICTYPE: true, SQLEXCEPTION: true, SQLSTATE: true, SQLWARNING: true, STATIC: true,
+    STATS: true, STORED: true, STRAIGHT_JOIN: true, STRING: true, STRUCT: true, SUBMULTISET: true, SUBSET: true, SUBSTRING_REGEX: true, SUCCEEDS: true, SYMBOL: true, SYMMETRIC: true,
+    SYSTEM_TIME: true, SYSTEM_USER: true, TABLE: true, TABLES: true, TABLESAMPLE: true, TBLPROPERTIES: true, TERMINATED: true, TEXTFILE: true, THEN: true, TIMESTAMP: true,
+    TIMEZONE_HOUR: true, TIMEZONE_MINUTE: true, TINYINT: true, TO: true, TRAILING: true, TRANSLATE_REGEX: true, TRANSLATION: true, TREAT: true, TRIGGER: true, TRIM_ARRAY: true,
+    TRUE: true, TRUNCATE: true, UESCAPE: true, UNBOUNDED: true, UNCACHED: true, UNION: true, UNIQUE: true, UNKNOWN: true, UNNEST: true, UPDATE: true, UPDATE_FN: true, UPSERT: true,
+    USE: true, USING: true, VALUE_OF: true, VALUES: true, VARBINARY: true, VARCHAR: true, VARYING: true, VERSIONING: true, VIEW: true, WHEN: true, WHENEVER: true, WHERE: true,
+    WIDTH_BUCKET: true, WINDOW: true, WITH: true, WITHIN: true, WITHOUT: true
   };
 
   var autocompleteFilter = function (filter, entries) {

文件差异内容过多而无法显示
+ 0 - 1
tools/ace-editor/lib/ace/mode/impala_highlight_rules.js


部分文件因为文件数量过多而无法显示