Procházet zdrojové kódy

HUE-9207 [frontend] Rename navopt to optimizer throughout

Johan Ahlen před 5 roky
rodič
revize
a9683e3aa0

+ 13 - 13
desktop/core/src/desktop/js/api/apiHelper.js

@@ -131,7 +131,7 @@ const fetchCached = function(options) {
  * @param {string} url
  * @return {CancellablePromise}
  */
-const genericNavOptMultiTableFetch = function(apiHelper, options, url) {
+const genericOptimizerMultiTableFetch = function(apiHelper, options, url) {
   const deferred = $.Deferred();
 
   const dbTables = {};
@@ -2673,14 +2673,14 @@ class ApiHelper {
   }
 
   /**
-   * Fetches navOpt popularity for the children of the given path
+   * Fetches optimizer popularity for the children of the given path
    *
    * @param {Object} options
    * @param {boolean} [options.silenceErrors]
    * @param {string[][]} options.paths
    * @return {CancellablePromise}
    */
-  fetchNavOptPopularity(options) {
+  fetchOptimizerPopularity(options) {
     const self = this;
     const deferred = $.Deferred();
     let url, data;
@@ -2721,8 +2721,8 @@ class ApiHelper {
    * @param {string[][]} options.paths
    * @return {CancellablePromise}
    */
-  fetchNavOptTopAggs(options) {
-    return genericNavOptMultiTableFetch(this, options, NAV_OPT_URLS.TOP_AGGS);
+  fetchOptimizerTopAggs(options) {
+    return genericOptimizerMultiTableFetch(this, options, NAV_OPT_URLS.TOP_AGGS);
   }
 
   /**
@@ -2733,8 +2733,8 @@ class ApiHelper {
    * @param {string[][]} options.paths
    * @return {CancellablePromise}
    */
-  fetchNavOptTopColumns(options) {
-    return genericNavOptMultiTableFetch(this, options, NAV_OPT_URLS.TOP_COLUMNS);
+  fetchOptimizerTopColumns(options) {
+    return genericOptimizerMultiTableFetch(this, options, NAV_OPT_URLS.TOP_COLUMNS);
   }
 
   /**
@@ -2745,8 +2745,8 @@ class ApiHelper {
    * @param {string[][]} options.paths
    * @return {CancellablePromise}
    */
-  fetchNavOptTopFilters(options) {
-    return genericNavOptMultiTableFetch(this, options, NAV_OPT_URLS.TOP_FILTERS);
+  fetchOptimizerTopFilters(options) {
+    return genericOptimizerMultiTableFetch(this, options, NAV_OPT_URLS.TOP_FILTERS);
   }
 
   /**
@@ -2757,12 +2757,12 @@ class ApiHelper {
    * @param {string[][]} options.paths
    * @return {CancellablePromise}
    */
-  fetchNavOptTopJoins(options) {
-    return genericNavOptMultiTableFetch(this, options, NAV_OPT_URLS.TOP_JOINS);
+  fetchOptimizerTopJoins(options) {
+    return genericOptimizerMultiTableFetch(this, options, NAV_OPT_URLS.TOP_JOINS);
   }
 
   /**
-   * Fetches navOpt meta for the given path, only possible for tables atm.
+   * Fetches optimizer meta for the given path, only possible for tables atm.
    *
    * @param {Object} options
    * @param {boolean} [options.silenceErrors]
@@ -2770,7 +2770,7 @@ class ApiHelper {
    *
    * @return {CancellablePromise}
    */
-  fetchNavOptMeta(options) {
+  fetchOptimizerMeta(options) {
     const self = this;
     const deferred = $.Deferred();
 

+ 2 - 2
desktop/core/src/desktop/js/apps/table_browser/metastoreDatabase.js

@@ -153,10 +153,10 @@ class MetastoreDatabase {
         if (optimizerEnabled) {
           this.loadingTablePopularity(true);
           this.catalogEntry
-            .loadNavOptPopularityForChildren()
+            .loadOptimizerPopularityForChildren()
             .done(() => {
               this.tables().forEach(table => {
-                table.optimizerStats(table.catalogEntry.navOptPopularity);
+                table.optimizerStats(table.catalogEntry.optimizerPopularity);
               });
             })
             .always(() => {

+ 4 - 4
desktop/core/src/desktop/js/apps/table_browser/metastoreTable.js

@@ -157,12 +157,12 @@ class MetastoreTable {
           );
 
           this.catalogEntry
-            .getNavOptMeta()
-            .done(navOptMeta => {
-              this.optimizerDetails(navOptMeta);
+            .getOptimizerMeta()
+            .done(optimizerMeta => {
+              this.optimizerDetails(optimizerMeta);
 
               const topColIndex = {};
-              navOptMeta.topCols.forEach(topCol => {
+              optimizerMeta.topCols.forEach(topCol => {
                 topColIndex[topCol.name] = topCol;
               });
 

+ 23 - 23
desktop/core/src/desktop/js/catalog/dataCatalog.js

@@ -88,8 +88,8 @@ const mergeEntry = function(dataCatalogEntry, storeEntry) {
   mergeAttribute('partitions', CACHEABLE_TTL.default, 'partitionsPromise');
   mergeAttribute('sample', CACHEABLE_TTL.default, 'samplePromise');
   mergeAttribute('navigatorMeta', CACHEABLE_TTL.default, 'navigatorMetaPromise');
-  mergeAttribute('navOptMeta', CACHEABLE_TTL.optimizer, 'navOptMetaPromise');
-  mergeAttribute('navOptPopularity', CACHEABLE_TTL.optimizer);
+  mergeAttribute('optimizerMeta', CACHEABLE_TTL.optimizer, 'optimizerMetaPromise');
+  mergeAttribute('optimizerPopularity', CACHEABLE_TTL.optimizer);
 };
 
 /**
@@ -156,11 +156,11 @@ class DataCatalog {
   }
 
   /**
-   * Returns true if the catalog can have NavOpt metadata
+   * Returns true if the catalog can have Optimizer metadata
    *
    * @return {boolean}
    */
-  canHaveNavOptMetadata() {
+  canHaveOptimizerMeta() {
     const self = this;
     return HAS_OPTIMIZER && (self.sourceType === 'hive' || self.sourceType === 'impala');
   }
@@ -243,8 +243,8 @@ class DataCatalog {
         partitions: dataCatalogEntry.partitions,
         sample: dataCatalogEntry.sample,
         navigatorMeta: dataCatalogEntry.navigatorMeta,
-        navOptMeta: dataCatalogEntry.navOptMeta,
-        navOptPopularity: dataCatalogEntry.navOptPopularity
+        optimizerMeta: dataCatalogEntry.optimizerMeta,
+        optimizerPopularity: dataCatalogEntry.optimizerPopularity
       })
       .then(deferred.resolve)
       .catch(deferred.reject);
@@ -264,7 +264,7 @@ class DataCatalog {
    *
    * @return {CancellablePromise}
    */
-  loadNavOptPopularityForTables(options) {
+  loadOptimizerPopularityForTables(options) {
     const self = this;
     const deferred = $.Deferred();
     const cancellablePromises = [];
@@ -279,20 +279,20 @@ class DataCatalog {
       self
         .getEntry({ namespace: options.namespace, compute: options.compute, path: path })
         .done(tableEntry => {
-          if (tableEntry.navOptPopularityForChildrenPromise) {
-            tableEntry.navOptPopularityForChildrenPromise
+          if (tableEntry.optimizerPopularityForChildrenPromise) {
+            tableEntry.optimizerPopularityForChildrenPromise
               .done(existingPopularEntries => {
                 popularEntries = popularEntries.concat(existingPopularEntries);
                 existingDeferred.resolve();
               })
               .fail(existingDeferred.reject);
-          } else if (tableEntry.definition && tableEntry.definition.navOptLoaded) {
+          } else if (tableEntry.definition && tableEntry.definition.optimizerLoaded) {
             cancellablePromises.push(
               tableEntry
                 .getChildren(options)
                 .done(childEntries => {
                   childEntries.forEach(childEntry => {
-                    if (childEntry.navOptPopularity) {
+                    if (childEntry.optimizerPopularity) {
                       popularEntries.push(childEntry);
                     }
                   });
@@ -314,14 +314,14 @@ class DataCatalog {
       if (pathsToLoad.length) {
         cancellablePromises.push(
           apiHelper
-            .fetchNavOptPopularity({
+            .fetchOptimizerPopularity({
               silenceErrors: options.silenceErrors,
               paths: pathsToLoad
             })
             .done(data => {
               const perTable = {};
 
-              const splitNavOptValuesPerTable = function(listName) {
+              const splitOptimizerValuesPerTable = function(listName) {
                 if (data.values[listName]) {
                   data.values[listName].forEach(column => {
                     let tableMeta = perTable[column.dbName + '.' + column.tableName];
@@ -338,11 +338,11 @@ class DataCatalog {
               };
 
               if (data.values) {
-                splitNavOptValuesPerTable('filterColumns');
-                splitNavOptValuesPerTable('groupbyColumns');
-                splitNavOptValuesPerTable('joinColumns');
-                splitNavOptValuesPerTable('orderbyColumns');
-                splitNavOptValuesPerTable('selectColumns');
+                splitOptimizerValuesPerTable('filterColumns');
+                splitOptimizerValuesPerTable('groupbyColumns');
+                splitOptimizerValuesPerTable('joinColumns');
+                splitOptimizerValuesPerTable('orderbyColumns');
+                splitOptimizerValuesPerTable('selectColumns');
               }
 
               const tablePromises = [];
@@ -354,9 +354,9 @@ class DataCatalog {
                   .done(entry => {
                     cancellablePromises.push(
                       entry.trackedPromise(
-                        'navOptPopularityForChildrenPromise',
+                        'optimizerPopularityForChildrenPromise',
                         entry
-                          .applyNavOptResponseToChildren(perTable[path], options)
+                          .applyOptimizerResponseToChildren(perTable[path], options)
                           .done(entries => {
                             popularEntries = popularEntries.concat(entries);
                             tableDeferred.resolve();
@@ -464,7 +464,7 @@ class DataCatalog {
         path: [],
         definition: {
           index: 0,
-          navOptLoaded: true,
+          optimizerLoaded: true,
           type: 'source'
         }
       });
@@ -494,7 +494,7 @@ class DataCatalog {
             path: ['default'],
             definition: {
               index: 0,
-              navOptLoaded: true,
+              optimizerLoaded: true,
               type: 'database'
             }
           });
@@ -526,7 +526,7 @@ class DataCatalog {
                 comment: '',
                 index: 0,
                 name: options.name,
-                navOptLoaded: true,
+                optimizerLoaded: true,
                 type: 'table'
               }
             });

+ 39 - 39
desktop/core/src/desktop/js/catalog/dataCatalogEntry.js

@@ -150,15 +150,15 @@ const reloadSample = function(dataCatalogEntry, apiOptions) {
  *
  * @return {CancellablePromise}
  */
-const reloadNavOptMeta = function(dataCatalogEntry, apiOptions) {
-  if (dataCatalogEntry.dataCatalog.canHaveNavOptMetadata()) {
+const reloadOptimizerMeta = function(dataCatalogEntry, apiOptions) {
+  if (dataCatalogEntry.dataCatalog.canHaveOptimizerMeta()) {
     return dataCatalogEntry.trackedPromise(
-      'navOptMetaPromise',
-      catalogUtils.fetchAndSave('fetchNavOptMeta', 'navOptMeta', dataCatalogEntry, apiOptions)
+      'optimizerMetaPromise',
+      catalogUtils.fetchAndSave('fetchOptimizerMeta', 'optimizerMeta', dataCatalogEntry, apiOptions)
     );
   }
-  dataCatalogEntry.navOptMetaPromise = $.Deferred.reject().promise();
-  return dataCatalogEntry.navOptMetaPromise;
+  dataCatalogEntry.optimizerMetaPromise = $.Deferred.reject().promise();
+  return dataCatalogEntry.optimizerMetaPromise;
 };
 
 /**
@@ -256,12 +256,12 @@ class DataCatalogEntry {
     self.sample = undefined;
     self.samplePromise = undefined;
 
-    self.navOptPopularity = undefined;
-    self.navOptMeta = undefined;
-    self.navOptMetaPromise = undefined;
+    self.optimizerPopularity = undefined;
+    self.optimizerMeta = undefined;
+    self.optimizerMetaPromise = undefined;
 
     self.navigatorMetaForChildrenPromise = undefined;
-    self.navOptPopularityForChildrenPromise = undefined;
+    self.optimizerPopularityForChildrenPromise = undefined;
 
     self.childrenPromise = undefined;
 
@@ -273,7 +273,7 @@ class DataCatalogEntry {
       });
       if (parent) {
         parent.navigatorMetaForChildrenPromise = undefined;
-        parent.navOptPopularityForChildrenPromise = undefined;
+        parent.optimizerPopularityForChildrenPromise = undefined;
       }
     }
   }
@@ -339,8 +339,8 @@ class DataCatalogEntry {
         .promise();
     }
 
-    if (self.definition && self.definition.navOptLoaded) {
-      delete self.definition.navOptLoaded;
+    if (self.definition && self.definition.optimizerLoaded) {
+      delete self.definition.optimizerLoaded;
     }
 
     self.reset();
@@ -651,13 +651,13 @@ class DataCatalogEntry {
    *
    * @return {CancellablePromise}
    */
-  applyNavOptResponseToChildren(response, options) {
+  applyOptimizerResponseToChildren(response, options) {
     const self = this;
     const deferred = $.Deferred();
     if (!self.definition) {
       self.definition = {};
     }
-    self.definition.navOptLoaded = true;
+    self.definition.optimizerLoaded = true;
     self.saveLater();
 
     const childPromise = self
@@ -673,21 +673,21 @@ class DataCatalogEntry {
           response.top_tables.forEach(topTable => {
             const matchingChild = entriesByName[topTable.name.toLowerCase()];
             if (matchingChild) {
-              matchingChild.navOptPopularity = topTable;
+              matchingChild.optimizerPopularity = topTable;
               matchingChild.saveLater();
               updatedIndex[matchingChild.getQualifiedPath()] = matchingChild;
             }
           });
         } else if (self.isTableOrView() && response.values) {
-          const addNavOptPopularity = function(columns, type) {
+          const addOptimizerPopularity = function(columns, type) {
             if (columns) {
               columns.forEach(column => {
                 const matchingChild = entriesByName[column.columnName.toLowerCase()];
                 if (matchingChild) {
-                  if (!matchingChild.navOptPopularity) {
-                    matchingChild.navOptPopularity = {};
+                  if (!matchingChild.optimizerPopularity) {
+                    matchingChild.optimizerPopularity = {};
                   }
-                  matchingChild.navOptPopularity[type] = column;
+                  matchingChild.optimizerPopularity[type] = column;
                   matchingChild.saveLater();
                   updatedIndex[matchingChild.getQualifiedPath()] = matchingChild;
                 }
@@ -695,11 +695,11 @@ class DataCatalogEntry {
             }
           };
 
-          addNavOptPopularity(response.values.filterColumns, 'filterColumn');
-          addNavOptPopularity(response.values.groupbyColumns, 'groupByColumn');
-          addNavOptPopularity(response.values.joinColumns, 'joinColumn');
-          addNavOptPopularity(response.values.orderbyColumns, 'orderByColumn');
-          addNavOptPopularity(response.values.selectColumns, 'selectColumn');
+          addOptimizerPopularity(response.values.filterColumns, 'filterColumn');
+          addOptimizerPopularity(response.values.groupbyColumns, 'groupByColumn');
+          addOptimizerPopularity(response.values.joinColumns, 'joinColumn');
+          addOptimizerPopularity(response.values.orderbyColumns, 'orderByColumn');
+          addOptimizerPopularity(response.values.selectColumns, 'selectColumn');
         }
         const popularEntries = [];
         Object.keys(updatedIndex).forEach(path => {
@@ -722,29 +722,29 @@ class DataCatalogEntry {
    *
    * @return {CancellablePromise}
    */
-  loadNavOptPopularityForChildren(options) {
+  loadOptimizerPopularityForChildren(options) {
     const self = this;
 
     options = catalogUtils.setSilencedErrors(options);
 
-    if (!self.dataCatalog.canHaveNavOptMetadata()) {
+    if (!self.dataCatalog.canHaveOptimizerMeta()) {
       return $.Deferred()
         .reject()
         .promise();
     }
-    if (self.navOptPopularityForChildrenPromise && (!options || !options.refreshCache)) {
-      return catalogUtils.applyCancellable(self.navOptPopularityForChildrenPromise, options);
+    if (self.optimizerPopularityForChildrenPromise && (!options || !options.refreshCache)) {
+      return catalogUtils.applyCancellable(self.optimizerPopularityForChildrenPromise, options);
     }
     const deferred = $.Deferred();
     const cancellablePromises = [];
-    if (self.definition && self.definition.navOptLoaded && (!options || !options.refreshCache)) {
+    if (self.definition && self.definition.optimizerLoaded && (!options || !options.refreshCache)) {
       cancellablePromises.push(
         self
           .getChildren(options)
           .done(childEntries => {
             deferred.resolve(
               childEntries.filter(entry => {
-                return entry.navOptPopularity;
+                return entry.optimizerPopularity;
               })
             );
           })
@@ -753,7 +753,7 @@ class DataCatalogEntry {
     } else if (self.isDatabase() || self.isTableOrView()) {
       cancellablePromises.push(
         apiHelper
-          .fetchNavOptPopularity({
+          .fetchOptimizerPopularity({
             silenceErrors: options && options.silenceErrors,
             refreshCache: options && options.refreshCache,
             paths: [self.path]
@@ -761,7 +761,7 @@ class DataCatalogEntry {
           .done(data => {
             cancellablePromises.push(
               self
-                .applyNavOptResponseToChildren(data, options)
+                .applyOptimizerResponseToChildren(data, options)
                 .done(deferred.resolve)
                 .fail(deferred.reject)
             );
@@ -774,7 +774,7 @@ class DataCatalogEntry {
 
     return catalogUtils.applyCancellable(
       self.trackedPromise(
-        'navOptPopularityForChildrenPromise',
+        'optimizerPopularityForChildrenPromise',
         new CancellablePromise(deferred, undefined, cancellablePromises)
       ),
       options
@@ -1588,29 +1588,29 @@ class DataCatalogEntry {
    *
    * @return {CancellablePromise}
    */
-  getNavOptMeta(options) {
+  getOptimizerMeta(options) {
     const self = this;
 
     options = catalogUtils.setSilencedErrors(options);
 
-    if (!self.dataCatalog.canHaveNavOptMetadata() || !self.isTableOrView()) {
+    if (!self.dataCatalog.canHaveOptimizerMeta() || !self.isTableOrView()) {
       return $.Deferred()
         .reject()
         .promise();
     }
     if (options && options.cachedOnly) {
       return (
-        catalogUtils.applyCancellable(self.navOptMetaPromise, options) ||
+        catalogUtils.applyCancellable(self.optimizerMetaPromise, options) ||
         $.Deferred()
           .reject(false)
           .promise()
       );
     }
     if (options && options.refreshCache) {
-      return catalogUtils.applyCancellable(reloadNavOptMeta(self, options), options);
+      return catalogUtils.applyCancellable(reloadOptimizerMeta(self, options), options);
     }
     return catalogUtils.applyCancellable(
-      self.navOptMetaPromise || reloadNavOptMeta(self, options),
+      self.optimizerMetaPromise || reloadOptimizerMeta(self, options),
       options
     );
   }

+ 19 - 13
desktop/core/src/desktop/js/catalog/multiTableEntry.js

@@ -19,7 +19,7 @@ import $ from 'jquery';
 import catalogUtils from 'catalog/catalogUtils';
 
 /**
- * Helper function to reload a NavOpt multi table attribute, like topAggs or topFilters
+ * Helper function to reload a Optimizer multi table attribute, like topAggs or topFilters
  *
  * @param {MultiTableEntry} multiTableEntry
  * @param {Object} [options]
@@ -29,14 +29,14 @@ import catalogUtils from 'catalog/catalogUtils';
  * @param {string} apiHelperFunction
  * @return {CancellablePromise}
  */
-const genericNavOptReload = function(
+const genericOptimizerReload = function(
   multiTableEntry,
   options,
   promiseAttribute,
   dataAttribute,
   apiHelperFunction
 ) {
-  if (multiTableEntry.dataCatalog.canHaveNavOptMetadata()) {
+  if (multiTableEntry.dataCatalog.canHaveOptimizerMeta()) {
     return multiTableEntry.trackedPromise(
       promiseAttribute,
       catalogUtils.fetchAndSave(apiHelperFunction, dataAttribute, multiTableEntry, options)
@@ -47,7 +47,7 @@ const genericNavOptReload = function(
 };
 
 /**
- * Helper function to get a NavOpt multi table attribute, like topAggs or topFilters
+ * Helper function to get a Optimizer multi table attribute, like topAggs or topFilters
  *
  * @param {MultiTableEntry} multiTableEntry
  * @param {Object} [options]
@@ -60,7 +60,7 @@ const genericNavOptReload = function(
  * @param {string} apiHelperFunction
  * @return {CancellablePromise}
  */
-const genericNavOptGet = function(
+const genericOptimizerGet = function(
   multiTableEntry,
   options,
   promiseAttribute,
@@ -77,7 +77,7 @@ const genericNavOptGet = function(
   }
   if (options && options.refreshCache) {
     return catalogUtils.applyCancellable(
-      genericNavOptReload(
+      genericOptimizerReload(
         multiTableEntry,
         options,
         promiseAttribute,
@@ -89,7 +89,7 @@ const genericNavOptGet = function(
   }
   return catalogUtils.applyCancellable(
     multiTableEntry[promiseAttribute] ||
-      genericNavOptReload(
+      genericOptimizerReload(
         multiTableEntry,
         options,
         promiseAttribute,
@@ -180,7 +180,7 @@ class MultiTableEntry {
    */
   getTopAggs(options) {
     const self = this;
-    return genericNavOptGet(self, options, 'topAggsPromise', 'topAggs', 'fetchNavOptTopAggs');
+    return genericOptimizerGet(self, options, 'topAggsPromise', 'topAggs', 'fetchOptimizerTopAggs');
   }
 
   /**
@@ -196,12 +196,12 @@ class MultiTableEntry {
    */
   getTopColumns(options) {
     const self = this;
-    return genericNavOptGet(
+    return genericOptimizerGet(
       self,
       options,
       'topColumnsPromise',
       'topColumns',
-      'fetchNavOptTopColumns'
+      'fetchOptimizerTopColumns'
     );
   }
 
@@ -218,12 +218,12 @@ class MultiTableEntry {
    */
   getTopFilters(options) {
     const self = this;
-    return genericNavOptGet(
+    return genericOptimizerGet(
       self,
       options,
       'topFiltersPromise',
       'topFilters',
-      'fetchNavOptTopFilters'
+      'fetchOptimizerTopFilters'
     );
   }
 
@@ -240,7 +240,13 @@ class MultiTableEntry {
    */
   getTopJoins(options) {
     const self = this;
-    return genericNavOptGet(self, options, 'topJoinsPromise', 'topJoins', 'fetchNavOptTopJoins');
+    return genericOptimizerGet(
+      self,
+      options,
+      'topJoinsPromise',
+      'topJoins',
+      'fetchOptimizerTopJoins'
+    );
   }
 }
 

+ 8 - 8
desktop/core/src/desktop/js/ko/components/assist/assistDbEntry.js

@@ -388,17 +388,17 @@ class AssistDbEntry {
       (self.catalogEntry.isTable() || self.catalogEntry.isDatabase()) &&
       !self.assistDbNamespace.nonSqlType
     ) {
-      self.catalogEntry.loadNavOptPopularityForChildren({ silenceErrors: true }).done(() => {
+      self.catalogEntry.loadOptimizerPopularityForChildren({ silenceErrors: true }).done(() => {
         loadEntriesDeferred.done(() => {
           if (!self.hasErrors()) {
             self.entries().forEach(entry => {
-              if (entry.catalogEntry.navOptPopularity) {
-                if (entry.catalogEntry.navOptPopularity.popularity) {
-                  entry.popularity(entry.catalogEntry.navOptPopularity.popularity);
-                } else if (entry.catalogEntry.navOptPopularity.column_count) {
-                  entry.popularity(entry.catalogEntry.navOptPopularity.column_count);
-                } else if (entry.catalogEntry.navOptPopularity.selectColumn) {
-                  entry.popularity(entry.catalogEntry.navOptPopularity.selectColumn.columnCount);
+              if (entry.catalogEntry.optimizerPopularity) {
+                if (entry.catalogEntry.optimizerPopularity.popularity) {
+                  entry.popularity(entry.catalogEntry.optimizerPopularity.popularity);
+                } else if (entry.catalogEntry.optimizerPopularity.column_count) {
+                  entry.popularity(entry.catalogEntry.optimizerPopularity.column_count);
+                } else if (entry.catalogEntry.optimizerPopularity.selectColumn) {
+                  entry.popularity(entry.catalogEntry.optimizerPopularity.selectColumn.columnCount);
                 }
               }
             });

+ 4 - 4
desktop/core/src/desktop/js/ko/components/assist/assistDbNamespace.js

@@ -108,14 +108,14 @@ class AssistDbNamespace {
     self.selectedDatabase.subscribe(() => {
       const db = self.selectedDatabase();
       if (window.HAS_OPTIMIZER && db && !db.popularityIndexSet && !self.nonSqlType) {
-        db.catalogEntry.loadNavOptPopularityForChildren({ silenceErrors: true }).done(() => {
+        db.catalogEntry.loadOptimizerPopularityForChildren({ silenceErrors: true }).done(() => {
           const applyPopularity = () => {
             db.entries().forEach(entry => {
               if (
-                entry.catalogEntry.navOptPopularity &&
-                entry.catalogEntry.navOptPopularity.popularity >= 5
+                entry.catalogEntry.optimizerPopularity &&
+                entry.catalogEntry.optimizerPopularity.popularity >= 5
               ) {
-                entry.popularity(entry.catalogEntry.navOptPopularity.popularity);
+                entry.popularity(entry.catalogEntry.optimizerPopularity.popularity);
               }
             });
           };

+ 6 - 6
desktop/core/src/desktop/js/ko/components/ko.catalogEntriesList.js

@@ -535,7 +535,7 @@ class CatalogEntriesList {
       self.cancellablePromises.push(
         self
           .catalogEntry()
-          .loadNavOptPopularityForChildren({ silenceErrors: true, cancellable: true })
+          .loadOptimizerPopularityForChildren({ silenceErrors: true, cancellable: true })
           .done(popularEntries => {
             if (popularEntries.length) {
               childPromise.done(() => {
@@ -549,15 +549,15 @@ class CatalogEntriesList {
                 popularEntries.forEach(popularEntry => {
                   if (
                     entryIndex[popularEntry.name] &&
-                    popularEntry.navOptPopularity &&
-                    popularEntry.navOptPopularity.selectColumn &&
-                    popularEntry.navOptPopularity.selectColumn.columnCount > 0
+                    popularEntry.optimizerPopularity &&
+                    popularEntry.optimizerPopularity.selectColumn &&
+                    popularEntry.optimizerPopularity.selectColumn.columnCount > 0
                   ) {
-                    totalCount += popularEntry.navOptPopularity.selectColumn.columnCount;
+                    totalCount += popularEntry.optimizerPopularity.selectColumn.columnCount;
                     popularityToApply.push(() => {
                       entryIndex[popularEntry.name].popularity(
                         Math.round(
-                          (100 * popularEntry.navOptPopularity.selectColumn.columnCount) /
+                          (100 * popularEntry.optimizerPopularity.selectColumn.columnCount) /
                             totalCount
                         )
                       );

+ 1 - 1
desktop/core/src/desktop/js/ko/components/ko.catalogEntriesList.test.js

@@ -35,7 +35,7 @@ describe('ko.catalogEntriesList.js', () => {
         getSample: () => $.Deferred().reject(),
         getSourceType: () => 'impala',
         loadNavigatorMetaForChildren: () => $.Deferred().reject(),
-        loadNavOptPopularityForChildren: () => $.Deferred().reject(),
+        loadOptimizerPopularityForChildren: () => $.Deferred().reject(),
         isTableOrView: () => false,
         isSource: () => false
       }

+ 1 - 1
desktop/core/src/desktop/js/ko/components/ko.fieldSamples.test.js

@@ -33,7 +33,7 @@ describe('ko.fieldSamples.js', () => {
         getChildren: () => $.Deferred().resolve([]),
         getSample: () => $.Deferred().reject(),
         loadNavigatorMetaForChildren: () => $.Deferred().reject(),
-        loadNavOptPopularityForChildren: () => $.Deferred().reject(),
+        loadOptimizerPopularityForChildren: () => $.Deferred().reject(),
         isTableOrView: () => false,
         getSourceType: () => 'impala'
       }

+ 1 - 1
desktop/core/src/desktop/js/ko/components/ko.navProperties.test.js

@@ -29,7 +29,7 @@ describe('ko.navProperties.js', () => {
         getChildren: () => $.Deferred().resolve([]),
         getSample: () => $.Deferred().reject(),
         loadNavigatorMetaForChildren: () => $.Deferred().reject(),
-        loadNavOptPopularityForChildren: () => $.Deferred().reject(),
+        loadOptimizerPopularityForChildren: () => $.Deferred().reject(),
         isTableOrView: () => false,
         getSourceType: () => 'impala',
         getNavigatorMeta: () =>

+ 1 - 1
desktop/core/src/desktop/js/ko/components/ko.navTags.test.js

@@ -31,7 +31,7 @@ describe('ko.navTags.js', () => {
         getChildren: () => $.Deferred().resolve([]),
         getSample: () => $.Deferred().reject(),
         loadNavigatorMetaForChildren: () => $.Deferred().reject(),
-        loadNavOptPopularityForChildren: () => $.Deferred().reject(),
+        loadOptimizerPopularityForChildren: () => $.Deferred().reject(),
         isTableOrView: () => false,
         getSourceType: () => 'impala',
         getNavigatorMeta: () =>

+ 45 - 37
desktop/core/src/desktop/js/sql/autocompleteResults.js

@@ -1445,7 +1445,7 @@ class AutocompleteResults {
                         const tableParts = table.split('.');
                         if (!existingTables[tableParts[tableParts.length - 1]]) {
                           tablesAdded = true;
-                          const identifier = self.convertNavOptQualifiedIdentifier(
+                          const identifier = self.convertOptimizerQualifiedIdentifier(
                             table,
                             suggestJoins.tables
                           );
@@ -1469,13 +1469,13 @@ class AutocompleteResults {
                             suggestionString += self.parseResult.lowerCase ? ' and ' : ' AND ';
                           }
                           suggestionString +=
-                            self.convertNavOptQualifiedIdentifier(
+                            self.convertOptimizerQualifiedIdentifier(
                               joinColPair.columns[0],
                               suggestJoins.tables,
                               self.dialect()
                             ) +
                             ' = ' +
-                            self.convertNavOptQualifiedIdentifier(
+                            self.convertOptimizerQualifiedIdentifier(
                               joinColPair.columns[1],
                               suggestJoins.tables,
                               self.dialect()
@@ -1555,12 +1555,12 @@ class AutocompleteResults {
                             suggestionString += self.parseResult.lowerCase ? ' and ' : ' AND ';
                           }
                           suggestionString +=
-                            self.convertNavOptQualifiedIdentifier(
+                            self.convertOptimizerQualifiedIdentifier(
                               joinColPair.columns[0],
                               suggestJoinConditions.tables
                             ) +
                             ' = ' +
-                            self.convertNavOptQualifiedIdentifier(
+                            self.convertOptimizerQualifiedIdentifier(
                               joinColPair.columns[1],
                               suggestJoinConditions.tables
                             );
@@ -1717,7 +1717,7 @@ class AutocompleteResults {
     return aggregateFunctionsDeferred;
   }
 
-  handlePopularGroupByOrOrderBy(navOptAttribute, suggestSpec, deferred, columnsDeferred) {
+  handlePopularGroupByOrOrderBy(optimizerAttribute, suggestSpec, deferred, columnsDeferred) {
     const self = this;
     const paths = [];
     suggestSpec.tables.forEach(table => {
@@ -1737,7 +1737,7 @@ class AutocompleteResults {
     self.cancellablePromises.push(
       dataCatalog
         .getCatalog(self.dialect())
-        .loadNavOptPopularityForTables({
+        .loadOptimizerPopularityForTables({
           namespace: self.snippet.namespace(),
           compute: self.snippet.compute(),
           paths: paths,
@@ -1753,28 +1753,30 @@ class AutocompleteResults {
             : '';
 
           entries.forEach(entry => {
-            if (entry.navOptPopularity[navOptAttribute]) {
-              totalColumnCount += entry.navOptPopularity[navOptAttribute].columnCount;
+            if (entry.optimizerPopularity[optimizerAttribute]) {
+              totalColumnCount += entry.optimizerPopularity[optimizerAttribute].columnCount;
               matchedEntries.push(entry);
             }
           });
           if (totalColumnCount > 0) {
             const suggestions = [];
             matchedEntries.forEach(entry => {
-              const filterValue = self.createNavOptIdentifierForColumn(
-                entry.navOptPopularity[navOptAttribute],
+              const filterValue = self.createOptimizerIdentifierForColumn(
+                entry.optimizerPopularity[optimizerAttribute],
                 suggestSpec.tables
               );
               suggestions.push({
                 value: prefix + filterValue,
                 filterValue: filterValue,
-                meta: navOptAttribute === 'groupByColumn' ? META_I18n.groupBy : META_I18n.orderBy,
+                meta:
+                  optimizerAttribute === 'groupByColumn' ? META_I18n.groupBy : META_I18n.orderBy,
                 category:
-                  navOptAttribute === 'groupByColumn'
+                  optimizerAttribute === 'groupByColumn'
                     ? CATEGORIES.POPULAR_GROUP_BY
                     : CATEGORIES.POPULAR_ORDER_BY,
                 weightAdjust: Math.round(
-                  (100 * entry.navOptPopularity[navOptAttribute].columnCount) / totalColumnCount
+                  (100 * entry.optimizerPopularity[optimizerAttribute].columnCount) /
+                    totalColumnCount
                 ),
                 popular: ko.observable(true),
                 hasCatalogEntry: false,
@@ -1871,7 +1873,7 @@ class AutocompleteResults {
                                     ? suggestFilters.prefix.toLowerCase()
                                     : suggestFilters.prefix) + ' '
                                 : '';
-                              compVal += self.createNavOptIdentifier(
+                              compVal += self.createOptimizerIdentifier(
                                 value.tableName,
                                 grp.columnName,
                                 suggestFilters.tables
@@ -1945,14 +1947,14 @@ class AutocompleteResults {
         .done(entry => {
           self.cancellablePromises.push(
             entry
-              .loadNavOptPopularityForChildren({ silenceErrors: true, cancellable: true })
+              .loadOptimizerPopularityForChildren({ silenceErrors: true, cancellable: true })
               .done(childEntries => {
                 let totalPopularity = 0;
                 const popularityIndex = {};
                 childEntries.forEach(childEntry => {
-                  if (childEntry.navOptPopularity && childEntry.navOptPopularity.popularity) {
+                  if (childEntry.optimizerPopularity && childEntry.optimizerPopularity.popularity) {
                     popularityIndex[childEntry.name] = true;
-                    totalPopularity += childEntry.navOptPopularity.popularity;
+                    totalPopularity += childEntry.optimizerPopularity.popularity;
                   }
                 });
                 if (totalPopularity > 0 && Object.keys(popularityIndex).length) {
@@ -1961,7 +1963,8 @@ class AutocompleteResults {
                       tableSuggestions.forEach(suggestion => {
                         if (popularityIndex[suggestion.details.name]) {
                           suggestion.relativePopularity = Math.round(
-                            (100 * suggestion.details.navOptPopularity.popularity) / totalPopularity
+                            (100 * suggestion.details.optimizerPopularity.popularity) /
+                              totalPopularity
                           );
                           if (suggestion.relativePopularity >= 5) {
                             suggestion.popular(true);
@@ -2023,7 +2026,7 @@ class AutocompleteResults {
       self.cancellablePromises.push(
         dataCatalog
           .getCatalog(self.dialect())
-          .loadNavOptPopularityForTables({
+          .loadOptimizerPopularityForTables({
             namespace: self.snippet.namespace(),
             compute: self.snippet.compute(),
             paths: paths,
@@ -2046,7 +2049,10 @@ class AutocompleteResults {
             const popularityIndex = {};
 
             popularEntries.forEach(popularEntry => {
-              if (popularEntry.navOptPopularity && popularEntry.navOptPopularity[valueAttribute]) {
+              if (
+                popularEntry.optimizerPopularity &&
+                popularEntry.optimizerPopularity[valueAttribute]
+              ) {
                 popularityIndex[popularEntry.getQualifiedPath()] = true;
               }
             });
@@ -2067,14 +2073,14 @@ class AutocompleteResults {
                   ) {
                     matchedSuggestions.push(suggestion);
                     totalColumnCount +=
-                      suggestion.details.navOptPopularity[valueAttribute].columnCount;
+                      suggestion.details.optimizerPopularity[valueAttribute].columnCount;
                   }
                 });
                 if (totalColumnCount > 0) {
                   matchedSuggestions.forEach(matchedSuggestion => {
                     matchedSuggestion.relativePopularity = Math.round(
                       (100 *
-                        matchedSuggestion.details.navOptPopularity[valueAttribute].columnCount) /
+                        matchedSuggestion.details.optimizerPopularity[valueAttribute].columnCount) /
                         totalColumnCount
                     );
                     if (matchedSuggestion.relativePopularity >= 5) {
@@ -2094,9 +2100,9 @@ class AutocompleteResults {
     return popularColumnsDeferred;
   }
 
-  createNavOptIdentifier(navOptTableName, navOptColumnName, tables) {
+  createOptimizerIdentifier(optimizerTableName, optimizerColumnName, tables) {
     const self = this;
-    let path = navOptTableName + '.' + navOptColumnName.split('.').pop();
+    let path = optimizerTableName + '.' + optimizerColumnName.split('.').pop();
     for (let i = 0; i < tables.length; i++) {
       let tablePath = '';
       if (tables[i].identifierChain.length === 2) {
@@ -2119,38 +2125,40 @@ class AutocompleteResults {
     return path;
   }
 
-  createNavOptIdentifierForColumn(navOptColumn, tables) {
+  createOptimizerIdentifierForColumn(optimizerColumn, tables) {
     const self = this;
     for (let i = 0; i < tables.length; i++) {
       if (
-        navOptColumn.dbName &&
-        (navOptColumn.dbName !== self.activeDatabase ||
-          navOptColumn.dbName !== tables[i].identifierChain[0].name)
+        optimizerColumn.dbName &&
+        (optimizerColumn.dbName !== self.activeDatabase ||
+          optimizerColumn.dbName !== tables[i].identifierChain[0].name)
       ) {
         continue;
       }
       if (
-        navOptColumn.tableName &&
+        optimizerColumn.tableName &&
         hueUtils.equalIgnoreCase(
-          navOptColumn.tableName,
+          optimizerColumn.tableName,
           tables[i].identifierChain[tables[i].identifierChain.length - 1].name
         ) &&
         tables[i].alias
       ) {
-        return tables[i].alias + '.' + navOptColumn.columnName;
+        return tables[i].alias + '.' + optimizerColumn.columnName;
       }
     }
 
-    if (navOptColumn.dbName && navOptColumn.dbName !== self.activeDatabase) {
-      return navOptColumn.dbName + '.' + navOptColumn.tableName + '.' + navOptColumn.columnName;
+    if (optimizerColumn.dbName && optimizerColumn.dbName !== self.activeDatabase) {
+      return (
+        optimizerColumn.dbName + '.' + optimizerColumn.tableName + '.' + optimizerColumn.columnName
+      );
     }
     if (tables.length > 1) {
-      return navOptColumn.tableName + '.' + navOptColumn.columnName;
+      return optimizerColumn.tableName + '.' + optimizerColumn.columnName;
     }
-    return navOptColumn.columnName;
+    return optimizerColumn.columnName;
   }
 
-  convertNavOptQualifiedIdentifier(qualifiedIdentifier, tables, type) {
+  convertOptimizerQualifiedIdentifier(qualifiedIdentifier, tables, type) {
     const self = this;
     const aliases = [];
     let tablesHasDefaultDatabase = false;

+ 2 - 2
desktop/core/src/desktop/templates/hue_ace_autocompleter.mako

@@ -736,8 +736,8 @@ from desktop.views import _ko
           }, COMMENT_LOAD_DELAY);
         }
 
-        if (self.catalogEntry.navOptPopularity && self.catalogEntry.navOptPopularity.relativePopularity) {
-          self.popularity(self.catalogEntry.navOptPopularity.relativePopularity);
+        if (self.catalogEntry.optimizerPopularity && self.catalogEntry.optimizerPopularity.relativePopularity) {
+          self.popularity(self.catalogEntry.optimizerPopularity.relativePopularity);
         }
       }