Skip to content

Commit c8144de

Browse files
chyzzqo2hashhar
authored andcommitted
Expose info_uri from query status in Cursor
1 parent 5cd6523 commit c8144de

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

tests/integration/test_dbapi_integration.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,3 +393,14 @@ def test_eager_loading_cursor_description(trino_connection):
393393
assert description_after is not None
394394
assert len(description_after) == len(description_expected)
395395
assert all([a == e] for a, e in zip(description_after, description_expected))
396+
397+
398+
def test_info_uri(trino_connection):
399+
cur = trino_connection.cursor()
400+
assert cur.info_uri is None
401+
cur.execute('SELECT * FROM system.runtime.nodes')
402+
assert cur.info_uri is not None
403+
assert cur._query.query_id in cur.info_uri
404+
cur.fetchall()
405+
assert cur.info_uri is not None
406+
assert cur._query.query_id in cur.info_uri

trino/client.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ def __init__(
477477
self.query_id: Optional[str] = None
478478

479479
self._stats: Dict[Any, Any] = {}
480+
self._info_uri: Optional[str] = None
480481
self._warnings: List[Dict[Any, Any]] = []
481482
self._columns: Optional[List[str]] = None
482483
self._finished = False
@@ -507,6 +508,10 @@ def warnings(self):
507508
def result(self):
508509
return self._result
509510

511+
@property
512+
def info_uri(self):
513+
return self._info_uri
514+
510515
def execute(self, additional_http_headers=None) -> TrinoResult:
511516
"""Initiate a Trino query by sending the SQL statement
512517
@@ -520,6 +525,7 @@ def execute(self, additional_http_headers=None) -> TrinoResult:
520525

521526
response = self._request.post(self._sql, additional_http_headers)
522527
status = self._request.process(response)
528+
self._info_uri = status.info_uri
523529
self.query_id = status.id
524530
self._stats.update({"queryId": self.query_id})
525531
self._update_state(status)

trino/dbapi.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,12 @@ def __iter__(self):
201201
def connection(self):
202202
return self._connection
203203

204+
@property
205+
def info_uri(self):
206+
if self._query is not None:
207+
return self._query.info_uri
208+
return None
209+
204210
@property
205211
def description(self):
206212
if self._query.columns is None:

0 commit comments

Comments
 (0)