Selaa lähdekoodia

HUE-5334 [editor] Add source to autocompleter suggest columns details

Johan Ahlen 9 vuotta sitten
vanhempi
commit
8ca1af2

+ 21 - 3
desktop/core/src/desktop/static/desktop/js/autocomplete/jison/sql_main.jison

@@ -1252,7 +1252,7 @@ SelectStatement_EDIT
        suggestFunctions();
      }
      if ($3.suggestColumns) {
-       suggestColumns();
+       suggestColumns({ identifierChain: [], source: 'select' });
      }
      if ($3.suggestTables) {
        suggestTables({ prependQuestionMark: true, prependFrom: true });
@@ -1284,7 +1284,7 @@ SelectStatement_EDIT
      }
      suggestKeywords(keywords);
      suggestFunctions();
-     suggestColumns();
+     suggestColumns({ identifierChain: [], source: 'select' });
      suggestTables({ prependQuestionMark: true, prependFrom: true });
      suggestDatabases({ prependQuestionMark: true, prependFrom: true, appendDot: true });
    }
@@ -1292,6 +1292,9 @@ SelectStatement_EDIT
  | 'SELECT' OptionalAllOrDistinct SelectList_EDIT TableExpression
    {
      selectListNoTableSuggest($3, $2);
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'select';
+     }
    }
  | 'SELECT' OptionalAllOrDistinct 'CURSOR' TableExpression
    {
@@ -1312,7 +1315,7 @@ SelectStatement_EDIT
      }
      suggestKeywords(keywords);
      suggestFunctions();
-     suggestColumns();
+     suggestColumns({ identifierChain: [], source: 'select' });
      suggestTables({ prependQuestionMark: true, prependFrom: true });
      suggestDatabases({ prependQuestionMark: true, prependFrom: true, appendDot: true });
    }
@@ -1530,10 +1533,25 @@ OptionalSelectConditions
 
 OptionalSelectConditions_EDIT
  : WhereClause_EDIT OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+   {
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'where';
+     }
+   }
  | OptionalWhereClause GroupByClause_EDIT OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+   {
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'group by';
+     }
+   }
  | OptionalWhereClause OptionalGroupByClause HavingClause_EDIT OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
  | OptionalWhereClause OptionalGroupByClause OptionalHavingClause WindowClause_EDIT OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
  | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OrderByClause_EDIT OptionalClusterOrDistributeBy OptionalLimitClause OptionalOffsetClause
+   {
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'order by';
+     }
+   }
  | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause ClusterOrDistributeBy_EDIT OptionalLimitClause OptionalOffsetClause
  | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy LimitClause_EDIT OptionalOffsetClause
  | OptionalWhereClause OptionalGroupByClause OptionalHavingClause OptionalWindowClause OptionalOrderByClause OptionalClusterOrDistributeBy OptionalLimitClause OffsetClause_EDIT

+ 33 - 4
desktop/core/src/desktop/static/desktop/js/autocomplete/sql.js

@@ -501,7 +501,7 @@ case 764:
        suggestFunctions();
      }
      if ($$[$0].suggestColumns) {
-       suggestColumns();
+       suggestColumns({ identifierChain: [], source: 'select' });
      }
      if ($$[$0].suggestTables) {
        suggestTables({ prependQuestionMark: true, prependFrom: true });
@@ -534,14 +534,17 @@ case 765:
      }
      suggestKeywords(keywords);
      suggestFunctions();
-     suggestColumns();
+     suggestColumns({ identifierChain: [], source: 'select' });
      suggestTables({ prependQuestionMark: true, prependFrom: true });
      suggestDatabases({ prependQuestionMark: true, prependFrom: true, appendDot: true });
    
 break;
-case 767: case 772:
+case 767:
 
      selectListNoTableSuggest($$[$0-1], $$[$0-2]);
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'select';
+     }
    
 break;
 case 768:
@@ -563,7 +566,7 @@ case 768:
      }
      suggestKeywords(keywords);
      suggestFunctions();
-     suggestColumns();
+     suggestColumns({ identifierChain: [], source: 'select' });
      suggestTables({ prependQuestionMark: true, prependFrom: true });
      suggestDatabases({ prependQuestionMark: true, prependFrom: true, appendDot: true });
    
@@ -584,6 +587,11 @@ case 771:
      suggestTables({ prependFrom: true });
      suggestDatabases({ prependFrom: true, appendDot: true });
    
+break;
+case 772:
+
+     selectListNoTableSuggest($$[$0-1], $$[$0-2]);
+   
 break;
 case 774: case 850: case 881: case 894: case 898: case 936: case 940: case 945: case 965: case 987: case 988: case 1064: case 1066: case 1068: case 1132: case 1142: case 1155: case 1167: case 1266: case 1324: case 1490: case 1491: case 1516: case 1517: case 1518: case 1709: case 1864: case 1878:
 this.$ = $$[$0];
@@ -735,6 +743,27 @@ case 801:
        this.$ = { suggestKeywords: keywords, empty: !$$[$0-7] && !$$[$0-6] && !$$[$0-5] && !$$[$0-4] && !$$[$0-3] && !$$[$0-2] && !$$[$0-1] && !$$[$0] }
      }
    
+break;
+case 802:
+
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'where';
+     }
+   
+break;
+case 803:
+
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'group by';
+     }
+   
+break;
+case 806:
+
+     if (parser.yy.result.suggestColumns) {
+       parser.yy.result.suggestColumns.source = 'order by';
+     }
+   
 break;
 case 810:
 

+ 2 - 2
desktop/core/src/desktop/static/desktop/spec/autocomplete/sqlSpecCreate.js

@@ -2296,7 +2296,7 @@
             suggestAggregateFunctions: true,
             suggestAnalyticFunctions: true,
             suggestFunctions: {},
-            suggestColumns:  { tables: [{ identifierChain: [{ name: 'tableOne' }] }] },
+            suggestColumns:  { source: 'select', tables: [{ identifierChain: [{ name: 'tableOne' }] }] },
             suggestKeywords: ['*']
           }
         });
@@ -2382,7 +2382,7 @@
               suggestAggregateFunctions: true,
               suggestAnalyticFunctions: true,
               suggestFunctions: {},
-              suggestColumns: { tables: [{ identifierChain: [{ name: 'tableOne' }] }] },
+              suggestColumns: { source: 'select', tables: [{ identifierChain: [{ name: 'tableOne' }] }] },
               suggestKeywords: ['*']
             }
           });

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 112 - 112
desktop/core/src/desktop/static/desktop/spec/autocomplete/sqlSpecSelect.js


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä