Jelajahi Sumber

[Trino] Show query ID in logs for the Trino editor (#3857)

Ayush Goyal 1 tahun lalu
induk
melakukan
961f7ea9b2

TEMPAT SAMPAH
desktop/core/ext-py3/python-sasl-0.3.1/sasl/saslwrapper.cpython-39-darwin.so


+ 5 - 0
desktop/libs/notebook/src/notebook/connectors/trino.py

@@ -343,6 +343,11 @@ class TrinoApi(Api):
       for col in columns
     ]
 
+  def get_log(self, notebook, snippet, startFrom=None, size=None):
+    guid = snippet['result']['handle']['guid'] if snippet.get('result') and snippet['result'].get('handle') and \
+      snippet['result']['handle'].get('guid') else None
+    return f"query_id: {guid}"
+
   @query_error_handler
   def explain(self, notebook, snippet):
     statement = snippet['statement'].rstrip(';')

+ 16 - 0
desktop/libs/notebook/src/notebook/connectors/trino_tests.py

@@ -354,3 +354,19 @@ class TestTrinoApi(TestCase):
     with patch('notebook.connectors.trino.coerce_password_from_script', return_value='custom_password_script'):
       trino_api = TrinoApi(self.user, interpreter=interpreter)
       assert trino_api.auth_password == 'custom_password_script'
+
+  def test_get_log(self):
+    notebook = {}
+    snippet = {
+      'result': {
+        'handle': {
+          'guid': '1234-abcd-5678-efgh'
+        }
+      }
+    }
+
+    # Expected result
+    expected_log = "query_id: 1234-abcd-5678-efgh"
+    result = self.trino_api.get_log(notebook, snippet)
+
+    assert result == expected_log