Browse Source

HUE-6645 [autocomplete] Suggest FROM after the select list

Johan Ahlen 8 years ago
parent
commit
c63179b84d

+ 5 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_main.jison

@@ -1402,6 +1402,11 @@ SelectStatement_EDIT
  | 'SELECT' OptionalAllOrDistinct SelectList 'CURSOR'
    {
      parser.checkForSelectListKeywords($3);
+     var keywords = ['FROM'];
+     if (parser.yy.result.suggestKeywords) {
+       keywords = parser.yy.result.suggestKeywords.concat(keywords);
+     }
+     parser.suggestKeywords(keywords);
      parser.suggestTables({ prependFrom: true });
      parser.suggestDatabases({ prependFrom: true, appendDot: true });
    }

+ 5 - 0
desktop/core/src/desktop/static/desktop/js/autocomplete/sql.js

@@ -622,6 +622,11 @@ break;
 case 825:
 
      parser.checkForSelectListKeywords($$[$0-1]);
+     var keywords = ['FROM'];
+     if (parser.yy.result.suggestKeywords) {
+       keywords = parser.yy.result.suggestKeywords.concat(keywords);
+     }
+     parser.suggestKeywords(keywords);
      parser.suggestTables({ prependFrom: true });
      parser.suggestDatabases({ prependFrom: true, appendDot: true });
    

+ 4 - 1
desktop/core/src/desktop/static/desktop/spec/autocomplete/sqlSpecSelect.js

@@ -41,6 +41,7 @@
       assertAutoComplete({
         beforeCursor: 'SELECT * ',
         afterCursor: '',
+        containsKeywords: ['FROM'],
         expectedResult: {
           lowerCase: false,
           suggestTables:{
@@ -58,6 +59,7 @@
       assertAutoComplete({
         beforeCursor: 'SELECT *\r\n',
         afterCursor: '',
+        containsKeywords: ['FROM'],
         expectedResult: {
           lowerCase: false,
           suggestTables:{
@@ -85,7 +87,7 @@
       assertAutoComplete({
         beforeCursor: 'SELECT foo, bar ',
         afterCursor: '',
-        containsKeywords: ['AS', '+'],
+        containsKeywords: ['AS', '+', 'FROM'],
         expectedResult: {
           lowerCase: false,
           suggestTables:{
@@ -137,6 +139,7 @@
       assertAutoComplete({
         beforeCursor: 'SELECT * fr',
         afterCursor: '',
+        containsKeywords: ['FROM'],
         expectedResult: {
           lowerCase: false,
           suggestTables: {