瀏覽代碼

HUE-6958 [autocomplete] Add autocomplete support for Hive DROP TEMPORARY FUNCTION statements

Johan Ahlen 8 年之前
父節點
當前提交
a9537de

+ 9 - 1
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_drop.jison

@@ -155,6 +155,7 @@ DropImpalaFunction_EDIT
 
 DropHiveFunction
  : 'DROP' '<hive>FUNCTION' OptionalIfExists SchemaQualifiedIdentifier
+ | 'DROP' '<hive>TEMPORARY' '<hive>FUNCTION' OptionalIfExists RegularIdentifier
  ;
 
 DropHiveFunction_EDIT
@@ -173,6 +174,13 @@ DropHiveFunction_EDIT
  | 'DROP' '<hive>FUNCTION' OptionalIfExists_EDIT
  | 'DROP' '<hive>FUNCTION' OptionalIfExists_EDIT SchemaQualifiedIdentifier
  | 'DROP' '<hive>FUNCTION' OptionalIfExists SchemaQualifiedIdentifier_EDIT
+ | 'DROP' '<hive>TEMPORARY' '<hive>FUNCTION' OptionalIfExists 'CURSOR'
+   {
+     if (!$4) {
+       parser.suggestKeywords(['IF EXISTS']);
+     }
+   }
+ | 'DROP' '<hive>TEMPORARY' '<hive>FUNCTION' OptionalIfExists_EDIT
  ;
 
 DropRoleStatement
@@ -303,7 +311,7 @@ DropMacroStatement
 DropMacroStatement_EDIT
  : 'DROP' '<hive>TEMPORARY' 'CURSOR'
    {
-     parser.suggestKeywords(['MACRO']);
+     parser.suggestKeywords(['FUNCTION', 'MACRO']);
    }
  | 'DROP' '<hive>TEMPORARY' '<hive>MACRO' OptionalIfExists 'CURSOR'
    {

+ 27 - 1
desktop/core/src/desktop/static/desktop/js/autocomplete/spec/sqlSpecDrop.js

@@ -1012,7 +1012,7 @@
           dialect: 'hive',
           expectedResult: {
             lowerCase: false,
-            suggestKeywords: ['MACRO']
+            suggestKeywords: ['FUNCTION', 'MACRO']
           }
         });
       });
@@ -1042,6 +1042,32 @@
       });
     });
 
+    describe('DROP TEMPORARY FUNCTION', function () {
+      it('should suggest keywords for "DROP TEMPORARY FUNCTION |', function () {
+        assertAutoComplete({
+          beforeCursor: 'DROP TEMPORARY FUNCTION ',
+          afterCursor: '',
+          dialect: 'hive',
+          expectedResult: {
+            lowerCase: false,
+            suggestKeywords: ['IF EXISTS']
+          }
+        });
+      });
+
+      it('should suggest keywords for "DROP TEMPORARY FUNCTION IF |', function () {
+        assertAutoComplete({
+          beforeCursor: 'DROP TEMPORARY FUNCTION IF ',
+          afterCursor: '',
+          dialect: 'hive',
+          expectedResult: {
+            lowerCase: false,
+            suggestKeywords: ['EXISTS']
+          }
+        });
+      });
+    });
+
     describe('DROP VIEW', function () {
       it('should handle "DROP VIEW boo;|', function () {
         assertAutoComplete({

文件差異過大導致無法顯示
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sqlAutocompleteParser.js


文件差異過大導致無法顯示
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sqlSyntaxParser.js


部分文件因文件數量過多而無法顯示