Skip to content

Commit 964d48e

Browse files
committed
Merge branch 'main' of https://github.com/dataease/SQLBot
2 parents c0644b3 + 51e511a commit 964d48e

File tree

3 files changed

+33
-30
lines changed

3 files changed

+33
-30
lines changed

backend/apps/chat/task/llm.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,26 +1000,26 @@ def run_task(self, in_chat: bool = True):
10001000
sqlbot_temp_sql_text = None
10011001
assistant_dynamic_sql = None
10021002
# todo row permission
1003-
if ((not self.current_assistant or is_page_embedded) and is_normal_user(
1004-
self.current_user)) or use_dynamic_ds:
1003+
if (not self.current_assistant or is_page_embedded) or use_dynamic_ds:
10051004
sql, tables = self.check_sql(res=full_sql_text)
10061005
sql_result = None
10071006

1008-
if use_dynamic_ds:
1009-
dynamic_sql_result = self.generate_assistant_dynamic_sql(sql, tables)
1010-
sqlbot_temp_sql_text = dynamic_sql_result.get(
1011-
'sqlbot_temp_sql_text') if dynamic_sql_result else None
1012-
# sql_result = self.generate_assistant_filter(sql, tables)
1013-
else:
1014-
sql_result = self.generate_filter(sql, tables) # maybe no sql and tables
1015-
1016-
if sql_result:
1017-
SQLBotLogUtil.info(sql_result)
1018-
sql = self.check_save_sql(res=sql_result)
1019-
elif dynamic_sql_result and sqlbot_temp_sql_text:
1020-
assistant_dynamic_sql = self.check_save_sql(res=sqlbot_temp_sql_text)
1021-
else:
1022-
sql = self.check_save_sql(res=full_sql_text)
1007+
if is_normal_user(self.current_user):
1008+
if use_dynamic_ds:
1009+
dynamic_sql_result = self.generate_assistant_dynamic_sql(sql, tables)
1010+
sqlbot_temp_sql_text = dynamic_sql_result.get(
1011+
'sqlbot_temp_sql_text') if dynamic_sql_result else None
1012+
# sql_result = self.generate_assistant_filter(sql, tables)
1013+
else:
1014+
sql_result = self.generate_filter(sql, tables) # maybe no sql and tables
1015+
1016+
if sql_result:
1017+
SQLBotLogUtil.info(sql_result)
1018+
sql = self.check_save_sql(res=sql_result)
1019+
elif dynamic_sql_result and sqlbot_temp_sql_text:
1020+
assistant_dynamic_sql = self.check_save_sql(res=sqlbot_temp_sql_text)
1021+
else:
1022+
sql = self.check_save_sql(res=full_sql_text)
10231023
else:
10241024
sql = self.check_save_sql(res=full_sql_text)
10251025
tables = []

backend/apps/db/db.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -420,15 +420,18 @@ def exec_sql(ds: CoreDatasource | AssistantOutDsSchema, sql: str, origin_column=
420420
except Exception as ex:
421421
raise ParseSQLResultError(str(ex))
422422
elif ds.type == 'es':
423-
if table_name and table_name[0]:
424-
res, columns = get_es_data(conf, sql, table_name[0])
425-
columns = [field[0] for field in columns] if origin_column else [field[0].lower() for
426-
field in
427-
columns]
428-
result_list = [
429-
{str(columns[i]): float(value) if isinstance(value, Decimal) else value for i, value in
430-
enumerate(tuple_item)}
431-
for tuple_item in res
432-
]
433-
return {"fields": columns, "data": result_list,
434-
"sql": bytes.decode(base64.b64encode(bytes(sql, 'utf-8')))}
423+
try:
424+
if table_name and table_name[0]:
425+
res, columns = get_es_data(conf, sql, table_name[0])
426+
columns = [field[0] for field in columns] if origin_column else [field[0].lower() for
427+
field in
428+
columns]
429+
result_list = [
430+
{str(columns[i]): float(value) if isinstance(value, Decimal) else value for i, value in
431+
enumerate(tuple_item)}
432+
for tuple_item in res
433+
]
434+
return {"fields": columns, "data": result_list,
435+
"sql": bytes.decode(base64.b64encode(bytes(sql, 'utf-8')))}
436+
except Exception as ex:
437+
raise Exception(str(ex))

backend/apps/db/es_engine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def get_es_fields(conf: DatasourceConf, table_name: str):
6363
def get_es_data(conf: DatasourceConf, sql: str, table_name: str):
6464
r = requests.post(f"{conf.host}/_sql/translate", json={"query": sql})
6565
if r.json().get('error'):
66-
raise HTTPException(status_code=500, detail=f': {json.dumps(r.json())}')
66+
print(json.dumps(r.json()))
6767

6868
es_client = get_es_connect(conf)
6969
response = es_client.search(

0 commit comments

Comments
 (0)