fix: execute_query now handles positional tuple params directly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
329157ca7a
commit
0a234f056c
@@ -78,14 +78,15 @@ class FirebirdService:
|
||||
try:
|
||||
cur = self.conn.cursor()
|
||||
if params:
|
||||
# fdb no soporta :name — convertir a positional ?
|
||||
param_names = re.findall(r':([a-zA-Z_][a-zA-Z0-9_]*)', query)
|
||||
if param_names:
|
||||
if isinstance(params, (list, tuple)):
|
||||
# Parámetros posicionales directos (?)
|
||||
cur.execute(query, params)
|
||||
else:
|
||||
# Parámetros nombrados (:name) → convertir a positional
|
||||
param_names = re.findall(r':([a-zA-Z_][a-zA-Z0-9_]*)', query)
|
||||
positional_sql = re.sub(r':[a-zA-Z_][a-zA-Z0-9_]*', '?', query)
|
||||
positional_vals = [params[n] for n in param_names]
|
||||
cur.execute(positional_sql, positional_vals)
|
||||
else:
|
||||
cur.execute(query)
|
||||
else:
|
||||
cur.execute(query)
|
||||
columns = [desc[0] for desc in cur.description] if cur.description else []
|
||||
|
||||
Reference in New Issue
Block a user