From 4511b385c28ff48937a6c40650042dfb2678f7b0 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Wed, 27 Mar 2024 12:40:33 +0900 Subject: [PATCH 1/2] Handle cases with cur.description is None --- pytd/query_engine.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pytd/query_engine.py b/pytd/query_engine.py index fdd471c..650870e 100644 --- a/pytd/query_engine.py +++ b/pytd/query_engine.py @@ -95,7 +95,8 @@ def execute(self, query, **kwargs): cur = self.cursor(**kwargs) self.executed = cur.execute(query) rows = cur.fetchall() - columns = [desc[0] for desc in cur.description] + # cur.description is None for CREATE and DROP statements in recent version of Trino + columns = [desc[0] for desc in cur.description] if cur.description else [] return {"data": rows, "columns": columns} def create_header(self, extra_lines=[]): From 93eaf8b558e0977f692028abf2d7d887550a0da0 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Wed, 27 Mar 2024 15:59:11 +0900 Subject: [PATCH 2/2] Return None instead of [] --- pytd/query_engine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytd/query_engine.py b/pytd/query_engine.py index 650870e..77ec5cc 100644 --- a/pytd/query_engine.py +++ b/pytd/query_engine.py @@ -96,7 +96,7 @@ def execute(self, query, **kwargs): self.executed = cur.execute(query) rows = cur.fetchall() # cur.description is None for CREATE and DROP statements in recent version of Trino - columns = [desc[0] for desc in cur.description] if cur.description else [] + columns = [desc[0] for desc in cur.description] if cur.description else None return {"data": rows, "columns": columns} def create_header(self, extra_lines=[]):