add support for postcompile literals in debug output

This commit is contained in:
Sarah Hoffmann
2023-07-06 09:29:20 +02:00
parent 3e725bb2db
commit 9cb9b670d1

View File

@@ -99,6 +99,7 @@ class BaseLogger:
if sa.__version__.startswith('1'):
try:
sqlstr = re.sub(r'__\[POSTCOMPILE_[^]]*\]', '%s', sqlstr)
return sqlstr % tuple((repr(params.get(name, None))
for name in compiled.positiontup)) # type: ignore
except TypeError:
@@ -107,9 +108,10 @@ class BaseLogger:
# Fixes an odd issue with Python 3.7 where percentages are not
# quoted correctly.
sqlstr = re.sub(r'%(?!\()', '%%', sqlstr)
sqlstr = re.sub(r'__\[POSTCOMPILE_([^]]*)\]', r'%(\1)s', sqlstr)
print(sqlstr)
return sqlstr % params
class HTMLLogger(BaseLogger):
""" Logger that formats messages in HTML.
"""