mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-08-02 00:28:00 +00:00
DDL run bug fix
This commit is contained in:
parent
ea97bfccc7
commit
dab39a1180
@ -253,7 +253,7 @@ class RDBMSDatabase(BaseConnect):
|
|||||||
|
|
||||||
def __write(self, session, write_sql):
|
def __write(self, session, write_sql):
|
||||||
print(f"Write[{write_sql}]")
|
print(f"Write[{write_sql}]")
|
||||||
db_cache = self.get_session_db(session)
|
db_cache = self._engine.url.database
|
||||||
result = session.execute(text(write_sql))
|
result = session.execute(text(write_sql))
|
||||||
session.commit()
|
session.commit()
|
||||||
# TODO Subsequent optimization of dynamically specified database submission loss target problem
|
# TODO Subsequent optimization of dynamically specified database submission loss target problem
|
||||||
@ -319,7 +319,7 @@ class RDBMSDatabase(BaseConnect):
|
|||||||
print("SQL:" + command)
|
print("SQL:" + command)
|
||||||
if not command:
|
if not command:
|
||||||
return []
|
return []
|
||||||
parsed, ttype, sql_type = self.__sql_parse(command)
|
parsed, ttype, sql_type, table_name = self.__sql_parse(command)
|
||||||
if ttype == sqlparse.tokens.DML:
|
if ttype == sqlparse.tokens.DML:
|
||||||
if sql_type == "SELECT":
|
if sql_type == "SELECT":
|
||||||
return self.__query(session, command, fetch)
|
return self.__query(session, command, fetch)
|
||||||
@ -340,10 +340,10 @@ class RDBMSDatabase(BaseConnect):
|
|||||||
result.insert(0, field_names)
|
result.insert(0, field_names)
|
||||||
print("DDL Result:" + str(result))
|
print("DDL Result:" + str(result))
|
||||||
if not result:
|
if not result:
|
||||||
return self.__query(session, "SHOW COLUMNS FROM test")
|
return self.__query(session, f"SHOW COLUMNS FROM {table_name}")
|
||||||
return result
|
return result
|
||||||
else:
|
else:
|
||||||
return self.__query(session, "SHOW COLUMNS FROM test")
|
return self.__query(session, f"SHOW COLUMNS FROM {table_name}")
|
||||||
|
|
||||||
def run_no_throw(self, session, command: str, fetch: str = "all") -> List:
|
def run_no_throw(self, session, command: str, fetch: str = "all") -> List:
|
||||||
"""Execute a SQL command and return a string representing the results.
|
"""Execute a SQL command and return a string representing the results.
|
||||||
@ -425,11 +425,12 @@ class RDBMSDatabase(BaseConnect):
|
|||||||
sql = sql.strip()
|
sql = sql.strip()
|
||||||
parsed = sqlparse.parse(sql)[0]
|
parsed = sqlparse.parse(sql)[0]
|
||||||
sql_type = parsed.get_type()
|
sql_type = parsed.get_type()
|
||||||
|
table_name = parsed.get_name()
|
||||||
|
|
||||||
first_token = parsed.token_first(skip_ws=True, skip_cm=False)
|
first_token = parsed.token_first(skip_ws=True, skip_cm=False)
|
||||||
ttype = first_token.ttype
|
ttype = first_token.ttype
|
||||||
print(f"SQL:{sql}, ttype:{ttype}, sql_type:{sql_type}")
|
print(f"SQL:{sql}, ttype:{ttype}, sql_type:{sql_type}, table:{table_name}")
|
||||||
return parsed, ttype, sql_type
|
return parsed, ttype, sql_type, table_name
|
||||||
|
|
||||||
def get_indexes(self, table_name):
|
def get_indexes(self, table_name):
|
||||||
"""Get table indexes about specified table."""
|
"""Get table indexes about specified table."""
|
||||||
|
Loading…
Reference in New Issue
Block a user