Преглед на файлове

HUE-9464 [editor] Update Hive ALTER parser with the latest syntax

Johan Ahlen преди 5 години
родител
ревизия
ab96d016cb

+ 8 - 2
desktop/core/src/desktop/js/parse/jison/sql/hive/alter/alter_table.jison

@@ -170,13 +170,14 @@ AlterTable_EDIT
        'CLUSTERED BY', 'CONCATENATE', 'COMPACT', 'DISABLE NO_DROP', 'DISABLE OFFLINE', 'DROP', 'ENABLE NO_DROP',
        'ENABLE OFFLINE', 'EXCHANGE PARTITION', 'NOT SKEWED', 'NOT STORED AS DIRECTORIES', 'PARTITION',
        'RECOVER PARTITIONS', 'RENAME TO', 'REPLACE COLUMNS', 'SET FILEFORMAT', 'SET LOCATION', 'SET OWNER', 'SET SERDE',
-       'SET SERDEPROPERTIES', 'SET SKEWED LOCATION', 'SET TBLPROPERTIES', 'SKEWED BY', 'TOUCH', 'UNARCHIVE PARTITION']);
+       'SET SERDEPROPERTIES', 'SET SKEWED LOCATION', 'SET TBLPROPERTIES', 'SKEWED BY', 'TOUCH', 'UNARCHIVE PARTITION',
+       'UNSET SERDEPROPERTIES']);
    }
  | AlterTableLeftSide PartitionSpec 'CURSOR'
    {
      parser.suggestKeywords(['ADD COLUMNS', 'CHANGE', 'COMPACT', 'CONCATENATE', 'DISABLE NO_DROP', 'DISABLE OFFLINE',
        'ENABLE NO_DROP', 'ENABLE OFFLINE', 'RENAME TO PARTITION', 'REPLACE COLUMNS', 'SET FILEFORMAT', 'SET LOCATION',
-       'SET SERDE', 'SET SERDEPROPERTIES']);
+       'SET SERDE', 'SET SERDEPROPERTIES', 'UNSET SERDEPROPERTIES']);
    }
  | AlterTableLeftSide PartitionSpec AddOrReplace 'CURSOR'
    {
@@ -199,6 +200,10 @@ AlterTable_EDIT
    {
      parser.suggestDatabases({ appendDot: true });
    }
+ | AlterTableLeftSide 'UNSET' 'CURSOR'
+   {
+     parser.suggestKeywords(['SERDEPROPERTIES']);
+   }
  ;
 
 AlterTableLeftSide
@@ -228,6 +233,7 @@ PartitionOperations
  | 'SET' 'TBLPROPERTIES' ParenthesizedPropertyAssignmentList
  | 'SET' 'SERDE' QuotedValue OptionalWithSerdeproperties
  | 'SET' 'SERDEPROPERTIES' ParenthesizedPropertyAssignmentList
+ | 'UNSET' 'SERDEPROPERTIES' ParenthesizedPropertyAssignmentList
  | AddReplaceColumns
  | 'CONCATENATE'
  | 'COMPACT' QuotedValue OptionalAndWait OptionalWithOverwriteTblProperties

+ 1 - 0
desktop/core/src/desktop/js/parse/jison/sql/hive/sql.jisonlex

@@ -290,6 +290,7 @@ STORED\s+AS\s+DIRECTORIES            { return 'STORED_AS_DIRECTORIES'; }
 'UNARCHIVE'                          { return 'UNARCHIVE'; }
 'UNIONTYPE'                          { return 'UNIONTYPE'; }
 'UNIQUE'                             { return 'UNIQUE'; }
+'UNSET'                              { return 'UNSET'; }
 'USE'                                { parser.determineCase(yytext); parser.addStatementTypeLocation('USE', yylloc); return 'USE'; }
 'VECTORIZATION'                      { return 'VECTORIZATION'; }
 'VIEW'                               { return 'VIEW'; }

+ 2 - 0
desktop/core/src/desktop/js/parse/jison/sql/presto/sql.jisonlex

@@ -211,6 +211,7 @@ DOUBLE\s+PRECISION                   { return 'DOUBLE_PRECISION'; }
 'LOCATION'                           { this.begin('hdfs'); return 'LOCATION'; }
 'LOCK'                               { return 'LOCK'; }
 'LOCKS'                              { return 'LOCKS'; }
+'MANAGEDLOCATION'                    { this.begin('hdfs'); return 'MANAGEDLOCATION'; }
 'MATCHED'                            { return 'MATCHED'; }
 'MERGE'                              { return 'MERGE'; }
 'METADATA'                           { return 'METADATA'; }
@@ -277,6 +278,7 @@ STORED\s+AS\s+DIRECTORIES            { return 'STORED_AS_DIRECTORIES'; }
 'TRANSACTIONS'                       { return 'TRANSACTIONS'; }
 'UNARCHIVE'                          { return 'UNARCHIVE'; }
 'UNIONTYPE'                          { return 'UNIONTYPE'; }
+'UNSET'                              { return 'UNSET'; }
 'USE'                                { parser.determineCase(yytext); return 'USE'; }
 'VIEW'                               { return 'VIEW'; }
 'WAIT'                               { return 'WAIT'; }

+ 3 - 0
desktop/core/src/desktop/js/parse/jison/sql/presto/sql_main.jison

@@ -210,6 +210,7 @@ NonReservedKeyword
  | 'TRANSACTIONS'
  | 'UNARCHIVE'
  | 'UNIONTYPE'
+ | 'UNSET'
  | 'USE'
  | 'USER'
  | 'VIEW'
@@ -389,6 +390,7 @@ NonStartingToken
  | 'LOCK'
  | 'LOCKS'
  | 'MACRO'
+ | 'MANAGEDLOCATION'
  | 'MAP'
  | 'MATCHED'
  | 'MAX'
@@ -480,6 +482,7 @@ NonStartingToken
  | 'TRUE'
  | 'UNION'
  | 'UNIONTYPE'
+ | 'UNSET'
  | 'UNSIGNED_INTEGER'
  | 'UNSIGNED_INTEGER_E'
  | 'USER'

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
desktop/core/src/desktop/js/parse/sql/hive/hiveAutocompleteParser.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
desktop/core/src/desktop/js/parse/sql/hive/hiveSyntaxParser.js


+ 15 - 2
desktop/core/src/desktop/js/parse/sql/hive/test/hiveAutocompleteParser.Alter.test.js

@@ -442,7 +442,8 @@ describe('hiveAutocompleteParser.js ALTER statements', () => {
             'SET TBLPROPERTIES',
             'SKEWED BY',
             'TOUCH',
-            'UNARCHIVE PARTITION'
+            'UNARCHIVE PARTITION',
+            'UNSET SERDEPROPERTIES',
           ]
         }
       });
@@ -1059,7 +1060,8 @@ describe('hiveAutocompleteParser.js ALTER statements', () => {
             'SET FILEFORMAT',
             'SET LOCATION',
             'SET SERDE',
-            'SET SERDEPROPERTIES'
+            'SET SERDEPROPERTIES',
+            'UNSET SERDEPROPERTIES'
           ]
         }
       });
@@ -1668,6 +1670,17 @@ describe('hiveAutocompleteParser.js ALTER statements', () => {
         }
       });
     });
+
+    it('should suggest keywords for "ALTER TABLE bar UNSET |"', () => {
+      assertAutoComplete({
+        beforeCursor: 'ALTER TABLE bar UNSET ',
+        afterCursor: '',
+        expectedResult: {
+          lowerCase: false,
+          suggestKeywords: ['SERDEPROPERTIES']
+        }
+      });
+    });
   });
 
   describe('ALTER VIEW', () => {

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
desktop/core/src/desktop/js/parse/sql/presto/prestoAutocompleteParser.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
desktop/core/src/desktop/js/parse/sql/presto/prestoSyntaxParser.js


Някои файлове не бяха показани, защото твърде много файлове са промени