فهرست منبع

HUE-6835 [autocomplete] Add WITH REPLICATION suggestion to ALTER TABLE

Johan Ahlen 8 سال پیش
والد
کامیت
21f5e65

+ 1 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql.jisonlex

@@ -250,6 +250,7 @@
 <impala>'REFRESH'                          { parser.determineCase(yytext); return '<impala>REFRESH'; }
 <impala>'RENAME'                           { return '<impala>RENAME'; }
 <impala>'REPLACE'                          { return '<impala>REPLACE'; }
+<impala>'REPLICATION'                      { return '<impala>REPLICATION'; }
 <impala>'RETURNS'                          { return '<impala>RETURNS'; }
 <impala>'REVOKE'                           { return '<impala>REVOKE'; }
 <impala>'SEQUENCEFILE'                     { return '<impala>SEQUENCEFILE'; }

+ 8 - 1
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_alter.jison

@@ -292,7 +292,7 @@ OptionalPartitionOperations
  | 'SET' HiveOrImpalaTblproperties ParenthesizedPropertyAssignmentList
  | 'SET' '<hive>SERDE' QuotedValue OptionalWithSerdeproperties
  | 'SET' HiveOrImpalaSerdeproperties ParenthesizedPropertyAssignmentList
- | 'SET' CachedIn
+ | 'SET' CachedIn OptionalWithReplication
  | 'SET' '<impala>UNCACHED'
  | AddReplaceColumns
  | '<hive>CONCATENATE'
@@ -336,6 +336,13 @@ OptionalPartitionOperations_EDIT
    }
  | 'SET' HdfsLocation_EDIT
  | 'SET' CachedIn_EDIT
+ | 'SET' CachedIn OptionalWithReplication 'CURSOR'
+   {
+     if (!$3) {
+       parser.suggestKeywords(['WITH REPLICATION =']);
+     }
+   }
+ | 'SET' CachedIn WithReplication_EDIT
  | 'SET' '<hive>SERDE' QuotedValue OptionalWithSerdeproperties 'CURSOR'
    {
      if (!$4) {

+ 21 - 1
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_create.jison

@@ -1169,7 +1169,7 @@ OptionalCachedIn
  ;
 
 CachedIn
- : '<impala>CACHED' 'IN' SingleQuotedValue
+ : '<impala>CACHED' 'IN' QuotedValue
  ;
 
 CachedIn_EDIT
@@ -1179,6 +1179,26 @@ CachedIn_EDIT
    }
  ;
 
+OptionalWithReplication
+ :
+ | WithReplication
+ ;
+
+WithReplication
+ : 'WITH' '<impala>REPLICATION' '=' SignedInteger
+ ;
+
+WithReplication_EDIT
+ : 'WITH' 'CURSOR'
+   {
+     parser.suggestKeywords(['REPLICATION =']);
+   }
+ | 'WITH' '<impala>REPLICATION' 'CURSOR'
+   {
+     parser.suggestKeywords(['=']);
+   }
+ ;
+
 ViewDefinition
  : AnyCreate AnyView OptionalIfNotExists SchemaQualifiedIdentifier OptionalParenthesizedViewColumnList OptionalComment OptionalHiveTblproperties AnyAs QuerySpecification
  ;

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_main.jison


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sql.js


+ 36 - 0
desktop/core/src/desktop/static/desktop/spec/autocomplete/sqlSpecAlter.js

@@ -1706,6 +1706,42 @@
           });
         });
 
+        it('should suggest keywords for "ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' |"', function() {
+          assertAutoComplete({
+            beforeCursor: 'ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' ',
+            afterCursor: '',
+            dialect: 'impala',
+            expectedResult: {
+              lowerCase: false,
+              suggestKeywords: ['WITH REPLICATION =']
+            }
+          });
+        });
+
+        it('should suggest keywords for "ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' WITH |"', function() {
+          assertAutoComplete({
+            beforeCursor: 'ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' WITH ',
+            afterCursor: '',
+            dialect: 'impala',
+            expectedResult: {
+              lowerCase: false,
+              suggestKeywords: ['REPLICATION =']
+            }
+          });
+        });
+
+        it('should suggest keywords for "ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' WITH REPLICATION |"', function() {
+          assertAutoComplete({
+            beforeCursor: 'ALTER TABLE bar PARTITION (a=\'b\') SET CACHED IN \'boo\' WITH REPLICATION ',
+            afterCursor: '',
+            dialect: 'impala',
+            expectedResult: {
+              lowerCase: false,
+              suggestKeywords: ['=']
+            }
+          });
+        });
+
         it('should suggest keywords for "ALTER TABLE bar PARTITION (a=\'b\') SET FILEFORMAT |"', function() {
           assertAutoComplete({
             beforeCursor: 'ALTER TABLE bar PARTITION (a=\'b\') SET FILEFORMAT ',

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است