Skip to content

Commit bd4e6e0

Browse files
mdesmethashhar
authored andcommitted
Fix query cancellation to correctly follow the protocol
1 parent bfa754a commit bd4e6e0

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

trino/client.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@ def __init__(
746746
self._request = request
747747
self._update_type = None
748748
self._update_count = None
749+
self._next_uri = None
749750
self._sql = sql
750751
self._result: Optional[TrinoResult] = None
751752
self._legacy_primitive_types = legacy_primitive_types
@@ -817,6 +818,7 @@ def _update_state(self, status):
817818
self._stats.update(status.stats)
818819
self._update_type = status.update_type
819820
self._update_count = status.update_count
821+
self._next_uri = status.next_uri
820822
if not self._row_mapper and status.columns:
821823
self._row_mapper = RowMapperFactory().create(columns=status.columns,
822824
legacy_primitive_types=self._legacy_primitive_types)
@@ -839,12 +841,11 @@ def fetch(self) -> List[List[Any]]:
839841

840842
def cancel(self) -> None:
841843
"""Cancel the current query"""
842-
if self.query_id is None or self.finished:
844+
if self._next_uri is None:
843845
return
844846

845-
url = self._request.get_url("/v1/query/{}".format(self.query_id))
846847
logger.debug("cancelling query: %s", self.query_id)
847-
response = self._request.delete(url)
848+
response = self._request.delete(self._next_uri)
848849
logger.debug(response)
849850
if response.status_code == requests.codes.no_content:
850851
self._cancelled = True

0 commit comments

Comments
 (0)