Files
ai-g3sb-backman2.0/tools/__pycache__/dbhub_execute_sql.cpython-311.pyc
T

50 lines
6.3 KiB
Plaintext
Raw Normal View History

2026-04-14 10:28:22 +08:00
§
CkØiÉãóš—dZddlmZddlmZddlmZddlmZddl m
Z
m Z ddl m
Z
mZddlmZdd lmZd#d„Zd$d„Zd%d„Zdddœd&d"„ZdS)'u

与 DBHub execute-sql.ts 对�的 SQL 执行工具。
与 HTTP sql_execute(run_readonly_sql)��:无 nl_schema_table_allowlist�
无 rewrite_mssql_logical_database_prefix�无 sql_account_rls;�读规则以 DBHub
allowed-keywords + sql-parser 为准。
é)Ú annotations)Ú get_optional)Úlog)Ú
get_engine)Úallowed_keywords_listÚis_read_only_sql)Ú
ConnectorTypeÚsplit_sql_statements)Útext)ÚEngineÚ dialect_nameÚstrÚreturnr có>—ddddddœ}| |d¦«S)u‘
将 SQLAlchemy dialect.name 映射到 DBHub ConnectorType。
未知方言按 postgres 规则��读校验(与计划一致)。
ÚpostgresÚmysqlÚmariadbÚsqliteÚ sqlserver)Ú
postgresqlrrrÚmssql)Úget)r
Úms úBD:\CodeSpace\afe-ai\ai-g3sb-backman\src\tools\dbhub_execute_sql.pyÚsqlalchemy_dialect_to_connectorrs5€ð !ØØØØð #ð#€Að
�5Š5�˜zÑ *Ô *Ð*óÚvalÚobjectcót—t|d¦«r' | ¦«S#t$r|cYSwxYw|S)NÚ isoformat)Úhasattrr Ú Exception)rs rÚ_serialize_cellr#$sP€Ýˆs�KÑ Ô ðð Ø—=’=‘?”?Ð "øÝð ð ð ØˆJˆJˆJð øøøà €Js ’&¦ 5´5Úenginer Ú
statementsú list[str]Úmax_rowsÚintú/tuple[list[str], list[dict[str, object]], bool]có —tdt|¦«¦«}g}g}d}| ¦«5}d}t|¦«D�]\}} |  ¦«}
| t
|
¦«¦«}|t|¦«dz
kr|jr|  ¦«Œn|jsg}g}d}n£t|  ¦«¦«}|  |dz¦«} t| ¦«|k}| d|…} g}| D]F}
i}t|¦«D]\}}t|
|¦«||<Œ| |¦«ŒG�Œ ddd¦«n #1swxYwY|||fS)uQ顺åº�执行多æ�¡è¯­å�¥ï¼Œä»…返回最å�Žä¸€æ�¡æœ‰ç»“果集语å�¥çš„列与行。éFN)Úmaxr(ÚconnectÚ enumerateÚstripÚexecuter ÚlenÚ returns_rowsÚfetchallÚlistÚkeysÚ fetchmanyr#Úappend)r$r%r'Ú last_colsÚ last_rowsÚ truncatedÚconnÚresultÚiÚstmtÚsÚfetchedÚ rows_dataÚrowÚrow_mapÚjÚcols rÚ_execute_statementsrF-sá€õ�1•c˜(‘m”mÑ$Ô$€HØ€IØ)+€IØ€IØ �ŠÑ Ô ð*˜TØˆÝ  Ñ,Ô,ð *ñ *‰GˆAˆtØ—
’
‘ ” ˆAØ—\’\¥$ q¡'¤'Ñ*Ô*ˆFØ•3�z‘?”? QÑ&Ò&Ð&ØÔ&ð&Ø—O’OÑ%Ô%Ð%ØØÔ&ð
Ø� Ø� Ø!� Ø�ݘVŸ[š[™]œ]Ñ+Ô+ˆIØ×&Ò& x°!¡|Ñ4Ô4ˆGݘG™ œ  xÒ/ˆIØ     Ô*ˆI؈IØ ð
*ð
*�Ø-/�Ý'¨ Ñ2Ô2ð;ð;‘F�A�sÝ#2°3°q´6Ñ#:Ô#:�G˜C‘L�LØ× Ò  Ñ)Ô)Ð)Ð)ñ 
*ð'*ð*ð*ñ*ô*ð*ð*ð*ð*ð*ð*øøøð*ð*ð*ð*ð0 �i Ð *Ð*s¸D2E6Å6E:Å=E:TN)Úreadonlyr'ÚsqlrGÚboolú
int | Noneúdict[str, object]c óº—|pd ¦«}|std¦«‚td¦«pd ¦«}|std¦«‚t¦«}t |jj¦«}t||¦«}|std¦«‚|rK|D]H}t||¦«s6d  t|¦«¦«pd} td| ›�¦«‚ŒI|�|nttd
¦«pd ¦«}
td td t|
¦«¦«¦«}
tjd
t!|¦«›d|›d|
›�¦« t#|||
¬¦«\} } }
nF#t$$r9}tjd|›�¦«tt)|¦«¦«|‚d }~wwxYwt!| ¦«}| |d| |
dœS)uÓ
执行 SQL(�多语�,分�分隔),行为对� DBHub execute_sql。
返回 dict � rows(list[dict])�count(int)�source_id�columns�truncated(便于 Python 使用)。
ÚuSQL ä¸�èƒ½ä¸ºç©ºÚ database_urludatabase_url 未é…�ç½®u
SQL 为空z, ÚnonezJRead-only mode is enabled. Only the following SQL operations are allowed: NÚ sql_max_rowsi'r+u"dbhub_execute_sql 执行语å�¥æ•°=z
readonly=z