Skip to content

Commit ca8add6

Browse files
committed
Fix issue of queries not reaching completed state
1 parent e260273 commit ca8add6

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

tests/integration/test_sqlalchemy_integration.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,19 @@ def test_conjunctions(trino_connection):
177177
assert len(rows) == 1
178178

179179

180+
@pytest.mark.parametrize('trino_connection', ['system'], indirect=True)
181+
def test_finished_state(trino_connection):
182+
_, conn = trino_connection
183+
metadata = sqla.MetaData()
184+
queries = sqla.Table('queries', metadata, schema='runtime', autoload_with=conn)
185+
s = sqla.select(queries.c.state).where(queries.c.query == "SELECT version()")
186+
result = conn.execute(s)
187+
rows = result.fetchall()
188+
assert len(rows) > 0
189+
for row in rows:
190+
assert row['state'] == 'FINISHED'
191+
192+
180193
@pytest.mark.parametrize('trino_connection', ['tpch'], indirect=True)
181194
def test_textual_sql(trino_connection):
182195
_, conn = trino_connection

trino/sqlalchemy/dialect.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ def _get_server_version_info(self, connection: Connection) -> Any:
317317
query = "SELECT version()"
318318
try:
319319
res = connection.execute(sql.text(query))
320-
version = res.scalar()
320+
version = res.scalar_one()
321321
return tuple([version])
322322
except exc.ProgrammingError as e:
323323
logger.debug(f"Failed to get server version: {e.orig.message}")

0 commit comments

Comments
 (0)