Skip to content

Commit 469abaf

Browse files
committed
feat: code
1 parent 4521de4 commit 469abaf

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

backend/apps/db/db.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -254,20 +254,17 @@ def get_fields(ds: CoreDatasource, table_name: str = None):
254254

255255

256256
def exec_sql(ds: CoreDatasource | AssistantOutDsSchema, sql: str):
257-
session = get_session(ds)
258-
result = session.execute(text(sql))
259-
try:
260-
columns = result.keys()._keys
261-
res = result.fetchall()
262-
result_list = [
263-
{columns[i]: float(value) if isinstance(value, Decimal) else value for i, value in enumerate(tuple_item)}
264-
for tuple_item in res
265-
]
266-
return {"fields": columns, "data": result_list, "sql": bytes.decode(base64.b64encode(bytes(sql, 'utf-8')))}
267-
except Exception as ex:
268-
raise ex
269-
finally:
270-
if result is not None:
271-
result.close()
272-
if session is not None:
273-
session.close()
257+
with get_session(ds) as session:
258+
with session.execute(text(sql)) as result:
259+
try:
260+
columns = result.keys()._keys
261+
res = result.fetchall()
262+
result_list = [
263+
{columns[i]: float(value) if isinstance(value, Decimal) else value for i, value in
264+
enumerate(tuple_item)}
265+
for tuple_item in res
266+
]
267+
return {"fields": columns, "data": result_list,
268+
"sql": bytes.decode(base64.b64encode(bytes(sql, 'utf-8')))}
269+
except Exception as ex:
270+
raise ex

0 commit comments

Comments
 (0)