diff options
author | mike bayer <mike_mp@zzzcomputing.com> | 2021-04-28 21:10:09 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2021-04-28 21:10:09 +0000 |
commit | 6efcddf36db76f074b4eb3e0c05c877047b1713f (patch) | |
tree | dbd502fb20776ec87dcce7103e173682694348e6 /lib/sqlalchemy | |
parent | 5b12393e81f6b8953e9ebd46801e6943007b7a56 (diff) | |
parent | 3dcdc304a6e40052bc751488187c7e3b515d5be8 (diff) | |
download | sqlalchemy-6efcddf36db76f074b4eb3e0c05c877047b1713f.tar.gz |
Merge "accommodate for mutiple copies of bind in ckbm"
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 6168248ff..dfdf5832f 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -715,7 +715,7 @@ class SQLCompiler(Compiled): self._cache_key_bind_match = ckbm = { b.key: b for b in cache_key[1] } - ckbm.update({b: b for b in cache_key[1]}) + ckbm.update({b: [b] for b in cache_key[1]}) # compile INSERT/UPDATE defaults/sequences to expect executemany # style execution, which may mean no pre-execute of defaults, @@ -934,8 +934,9 @@ class SQLCompiler(Compiled): ckbm = self._cache_key_bind_match resolved_extracted = { - ckbm[b]: extracted + bind: extracted for b, extracted in zip(orig_extracted, extracted_parameters) + for bind in ckbm[b] } else: resolved_extracted = None @@ -2242,7 +2243,6 @@ class SQLCompiler(Compiled): render_postcompile=False, **kwargs ): - if not skip_bind_expression: impl = bindparam.type.dialect_impl(self.dialect) if impl._has_bind_expression: @@ -2313,7 +2313,7 @@ class SQLCompiler(Compiled): for bp in bindparam._cloned_set: if bp.key in ckbm: cb = ckbm[bp.key] - ckbm[cb] = bindparam + ckbm[cb].append(bindparam) if bindparam.isoutparam: self.has_out_parameters = True |