Browse Source

HUE-5228 [editor] Allow SQL identifiers starting with numeric characters

Johan Ahlen 9 years ago
parent
commit
09a325f

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

@@ -389,7 +389,7 @@
 [0-9]+                                     { return 'UNSIGNED_INTEGER'; }
 [0-9]+                                     { return 'UNSIGNED_INTEGER'; }
 [0-9]+(?:[YSL]|BD)?                        { return 'UNSIGNED_INTEGER'; }
 [0-9]+(?:[YSL]|BD)?                        { return 'UNSIGNED_INTEGER'; }
 [0-9]+E                                    { return 'UNSIGNED_INTEGER_E'; }
 [0-9]+E                                    { return 'UNSIGNED_INTEGER_E'; }
-[A-Za-z][A-Za-z0-9_]*                      { return 'REGULAR_IDENTIFIER'; }
+[A-Za-z0-9_]+                              { return 'REGULAR_IDENTIFIER'; }
 
 
 <hdfs>'\u2020'                             { parser.yy.cursorFound = true; return 'CURSOR'; }
 <hdfs>'\u2020'                             { parser.yy.cursorFound = true; return 'CURSOR'; }
 <hdfs>'\u2021'                             { parser.yy.cursorFound = true; return 'PARTIAL_CURSOR'; }
 <hdfs>'\u2021'                             { parser.yy.cursorFound = true; return 'PARTIAL_CURSOR'; }

File diff suppressed because it is too large
+ 0 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sql.js


+ 11 - 0
desktop/core/src/desktop/static/desktop/spec/autocomplete/sqlSpecSelect.js

@@ -201,6 +201,17 @@
       });
       });
     });
     });
 
 
+    fit('should suggest tables for "SELECT * FROM 33abc.|"', function() {
+      assertAutoComplete({
+        beforeCursor: 'SELECT * FROM 33abc.',
+        afterCursor: '',
+        expectedResult: {
+          lowerCase: false,
+          suggestTables: { identifierChain: [{ name: '33abc' }] }
+        }
+      });
+    });
+
     it('should suggest tables for "SELECT * FROM `database_two`.`bla |"', function() {
     it('should suggest tables for "SELECT * FROM `database_two`.`bla |"', function() {
       assertAutoComplete({
       assertAutoComplete({
         beforeCursor: 'SELECT * FROM `database_two`.`bla ',
         beforeCursor: 'SELECT * FROM `database_two`.`bla ',

Some files were not shown because too many files changed in this diff