Explorar o código

HUE-8793 [autocomplete] Add support for quoted column and table aliases

Johan Ahlen %!s(int64=6) %!d(string=hai) anos
pai
achega
16ff40072e

+ 4 - 0
desktop/core/src/desktop/js/parse/jison/sql_main.jison

@@ -3721,12 +3721,16 @@ SimpleTable_EDIT
 OptionalCorrelationName
  :
  | RegularOrBacktickedIdentifier        -> { alias: $1, location: @1 }
+ | QuotedValue                          -> { alias: $1, location: @1 }
  | AnyAs RegularOrBacktickedIdentifier  -> { alias: $2, location: @2 }
+ | AnyAs QuotedValue                    -> { alias: $2, location: @2 }
  ;
 
 OptionalCorrelationName_EDIT
  : PartialBacktickedIdentifier
+ | QuotedValue_EDIT
  | AnyAs PartialBacktickedIdentifier
+ | AnyAs QuotedValue_EDIT
  | AnyAs 'CURSOR'
  ;
 

+ 13 - 0
desktop/core/src/desktop/js/parse/spec/sqlAutocompleteParser_Select_Spec.js

@@ -396,6 +396,19 @@ describe('sqlAutocompleteParser.js SELECT statements', () => {
       });
     });
 
+    it('should handle "SELECT a as \'a\', b "b", c as `c` from d \'d\', e as "e", f as `f`;"', () => {
+      assertAutoComplete({
+        beforeCursor: 'SELECT a as \'a\', b "b", c as `c` from d \'d\', e as "e", f as `f`; ',
+        afterCursor: '',
+        noErrors: true,
+        dialect: 'impala',
+        containsKeywords: ['SELECT'],
+        expectedResult: {
+          lowerCase: false
+        }
+      });
+    });
+
     it('should suggest columns "SELECT IF(baa, boo, bee) AS b, | FROM testTable;"', () => {
       assertAutoComplete({
         beforeCursor: 'SELECT IF(baa, boo, bee) AS b, ',

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
desktop/core/src/desktop/js/parse/sqlAutocompleteParser.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
desktop/core/src/desktop/js/parse/sqlSyntaxParser.js


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio