From: Sarah Hoffmann Date: Thu, 6 Jul 2023 07:29:20 +0000 (+0200) Subject: add support for postcompile literals in debug output X-Git-Tag: v4.3.0~56^2~2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/9cb9b670d182932851613ac8a08d3a1e7c8ce51f?hp=-c add support for postcompile literals in debug output --- 9cb9b670d182932851613ac8a08d3a1e7c8ce51f diff --git a/nominatim/api/logging.py b/nominatim/api/logging.py index 37855790..d4dc68b7 100644 --- a/nominatim/api/logging.py +++ b/nominatim/api/logging.py @@ -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. """