瀏覽代碼

HUE-3763 [editor] Show only the statement which gets executed

Romain Rigaux 9 年之前
父節點
當前提交
cf85ac2

+ 10 - 3
desktop/libs/notebook/src/notebook/api.py

@@ -111,8 +111,9 @@ def execute(request):
       _snippet = [s for s in notebook['snippets'] if s['id'] == snippet['id']][0]
       if 'handle' in response: # No failure
         _snippet['result']['handle'] = response['handle']
-        _snippet['result']['statements_count'] = response['handle']['statements_count']
-        _snippet['result']['statement_id'] = response['handle']['statement_id']
+        _snippet['result']['statements_count'] = response['handle'].get('statements_count', 1)
+        _snippet['result']['statement_id'] = response['handle'].get('statement_id', 0)
+        _snippet['result']['handle']['statement'] = response['handle'].get('statement', snippet['statement']) # For non HS2, as non multi query yet
       else:
         _snippet['status'] = 'failed'
       history = _historify(notebook, request.user)
@@ -347,13 +348,19 @@ def get_history(request):
   for doc in Document2.objects.get_history(doc_type='query-%s' % doc_type, user=request.user).order_by('-last_modified')[:limit]:
     notebook = Notebook(document=doc).get_data()
     if 'snippets' in notebook:
+      try:
+        statement = notebook['snippets'][0]['result']['handle']['statement']
+        if type(statement) == dict: # Old format
+          statement = notebook['snippets'][0]['statement_raw']
+      except KeyError: # Old format
+        statement = notebook['snippets'][0]['statement_raw']
       history.append({
         'name': doc.name,
         'id': doc.id,
         'uuid': doc.uuid,
         'type': doc.type,
         'data': {
-            'statement_raw': notebook['snippets'][0]['statement_raw'][:1001],
+            'statement': statement[:1001],
             'lastExecuted':  notebook['snippets'][0]['lastExecuted'],
             'status':  notebook['snippets'][0]['status'],
             'parentSavedQueryUuid': notebook.get('parentSavedQueryUuid', '')

+ 1 - 1
desktop/libs/notebook/src/notebook/connectors/hiveserver2.py

@@ -185,7 +185,7 @@ class HS2Api(Api):
 
     statement = self._get_current_statement(db, snippet)
     session = self._get_session(notebook, snippet['type'])
-    query = self._prepare_hql_query(snippet, statement.pop('statement'), session)
+    query = self._prepare_hql_query(snippet, statement['statement'], session)
 
     try:
       db.use(query.database)

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

@@ -624,7 +624,7 @@
           notebook.history.unshift(
             notebook._makeHistoryRecord(
               url,
-              self.statement_raw(),
+              data.handle.statement,
               self.lastExecuted(),
               self.status(),
               notebook.name(),
@@ -1348,7 +1348,7 @@
             parsedHistory.push(
               self._makeHistoryRecord(
                 nbk.absoluteUrl,
-                nbk.data.statement_raw,
+                nbk.data.statement,
                 nbk.data.lastExecuted,
                 nbk.data.status,
                 nbk.name,