+ params = dict(compiled.params)
+ if isinstance(extra_params, Mapping):
+ for k, v in extra_params.items():
+ params[k] = str(v)
+ elif isinstance(extra_params, Sequence) and extra_params:
+ for k in extra_params[0]:
+ params[k] = f':{k}'
+
+ sqlstr = str(compiled)
+
+ if '%s' in sqlstr:
+ try:
+ return sqlstr % tuple((repr(compiled.params[name]) for name in compiled.positiontup))
+ except TypeError:
+ return sqlstr
+
+ return str(compiled) % params