Browse Source

HUE-6132 [metadata] Improving query upload result message

Romain Rigaux 8 years ago
parent
commit
fae9a8759e

+ 4 - 3
desktop/core/src/desktop/templates/assist.mako

@@ -1719,12 +1719,13 @@ from notebook.conf import get_ordered_interpreters
       <a href="javascript:void(0)" data-bind="click: function() { huePubSub.publish('editor.workload.upload'); }" title="${ _('Load past query history in order to improve recommendations') }">
         <i class="fa fa-fw fa-cloud-upload"></i> ${_('Upload workload')}
       </a>
+      <a href="javascript:void(0)" data-bind="visible: activeTables().length > 0, click: function() { huePubSub.publish('editor.table.stats.upload', activeTables()); }" title="${ _('Load table and columns stats in order to improve recommendations') }">
+        <i class="fa fa-fw fa-cloud-upload"> ${_('Upload DDL')}</i>
+      </a>
+      </br>
       <a href="javascript:void(0)" data-bind="click: function() { huePubSub.publish('editor.workload.upload'); }" title="${ _('Load past query history in order to improve recommendations') }">
         <i class="fa fa-fw fa-gears"></i> ${_('Analyse Query')}
       </a>
-      <a href="javascript:void(0)" data-bind="visible: activeTables().length > 0, click: function() { huePubSub.publish('editor.table.stats.upload', activeTables()); }" title="${ _('Load table and columns stats in order to improve recommendations') }">
-        <i class="fa fa-fw fa-cloud-upload"></i>
-      </a>      
     <!-- /ko -->
   </script>
 

+ 2 - 2
desktop/libs/metadata/src/metadata/optimizer_client.py

@@ -217,14 +217,14 @@ class OptimizerApi(object):
     return self._call('getTopJoins', args)
 
 
-  def top_databases(self, db_tables=None, page_size=100, startingToken=None):
+  def top_databases(self, page_size=100, startingToken=None):
     args = {
       'tenant' : self._product_name,
       'pageSize': page_size,
       'startingToken': None
     }
 
-    return self._call('getTopDataBases', args)
+    return self._call('getTopDatabases', args)
 
 
   UPLOAD = {

+ 9 - 6
desktop/libs/metadata/src/metadata/optimizer_client_tests.py

@@ -71,9 +71,9 @@ class TestOptimizerApi(BaseTestOptimizerApi):
         (uuid_default(), 0, "select emps.id from emps where emps.name = 'Joe' group by emps.mgr, emps.id;", 'default'),
         (uuid_default(), 0, "select emps.name from emps where emps.num = 007 group by emps.state, emps.name;", 'default'),
         (uuid_default(), 0, "select Part.partkey, max(Part.salary), Part.name, Part.type from db1.Part where Part.yyprice > 2095", 'db1'),
-        (uuid_default(), 0, "elect Part.partkey, Part.name, Part.mfgr FROM Part WHERE Part.name LIKE '%red';", 'default'),
+        (uuid_default(), 0, "select Part.partkey, Part.name, Part.mfgr FROM Part WHERE Part.name LIKE '%red';", 'default'),
         (uuid_default(), 0, "select count(*) as loans from account a where a.account_state_id in (5,9);", 'default'),
-        (uuid_default(), 0, "elect orders.key, orders.id from orders where orders.price < 9999", 'default'),
+        (uuid_default(), 0, "select orders.key, orders.id from orders where orders.price < 9999", 'default'),
         (uuid_default(), 0, "select mgr.name from mgr where mgr.reports > 10 group by mgr.state;", 'default'),
     ]
 
@@ -101,8 +101,8 @@ class TestOptimizerApi(BaseTestOptimizerApi):
       time.sleep(1)
       LOG.info('Upload state: %(state)s' % resp['status'])
 
-    assert_true(i < 60)
-    LOG.info('Final Upload state: %(state)s' % resp['status'])
+    assert_true(i < 60 and resp['status']['state'] == 'FINISHED', resp)
+    assert_equal(resp['status']['successQueries'], 7, resp)
 
 
   def test_top_tables(self):
@@ -205,13 +205,16 @@ class TestOptimizerApi(BaseTestOptimizerApi):
   def test_top_columns(self):
     resp = self.api.top_columns(db_tables='db1.Part')
 
-    assert_true(len(resp.get('results', '')) > 0, resp)
-
     assert_true('orderbyColumns' in resp, resp)
     assert_true('selectColumns' in resp, resp)
     assert_true('filterColumns' in resp, resp)
     assert_true('joinColumns' in resp, resp)
     assert_true('groupbyColumns' in resp, resp)
+
+    assert_true(resp['orderbyColumns'], resp)
+    assert_true('selectColumns' in resp, resp)
+    assert_true('filterColumns' in resp, resp)
+    assert_true('joinColumns' in resp, resp)
     assert_true('groupbyColumns' in resp, resp)
 
 

+ 2 - 0
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -1647,6 +1647,8 @@ var EditorViewModel = (function() {
             window.setTimeout(function () {
               self.watchUploadStatus(workloadId);
             }, 2000);
+          } else {
+            $(document).trigger("info", ko.mapping.toJSON(data.upload_status.status));
           }
         } else {
           $(document).trigger("error", data.message);