diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-10-17 11:07:14 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-10-17 12:14:41 -0400 |
commit | f917b353e88aa11d0efff1dc8bf1dbd079d57efb (patch) | |
tree | 8ee2d25278b63f8009cbd77a9a53da1770330567 /lib/sqlalchemy/sql/crud.py | |
parent | 8ef4f6a53864ce9c57c4879d6b2aa0f81ddbf596 (diff) | |
download | sqlalchemy-f917b353e88aa11d0efff1dc8bf1dbd079d57efb.tar.gz |
Add a qualifying character to multi INSERT..VALUES parameter names
Changed the naming convention used when generating bound parameters
for a multi-VALUES insert statement, so that the numbered parameter
names don't conflict with the anonymized parameters of a WHERE clause,
as is now common in a PostgreSQL ON CONFLICT construct.
Change-Id: I3188d100fe4d322a47d344d6a63d3e40b915f228
Fixes: #3828
Diffstat (limited to 'lib/sqlalchemy/sql/crud.py')
-rw-r--r-- | lib/sqlalchemy/sql/crud.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/sql/crud.py b/lib/sqlalchemy/sql/crud.py index 642659c84..452fe5d9a 100644 --- a/lib/sqlalchemy/sql/crud.py +++ b/lib/sqlalchemy/sql/crud.py @@ -317,7 +317,7 @@ def _append_param_parameter( compiler, c, value, required=value is REQUIRED, name=_col_bind_name(c) if not stmt._has_multi_parameters - else "%s_0" % _col_bind_name(c), + else "%s_m0" % _col_bind_name(c), **kw ) else: @@ -396,7 +396,7 @@ def _create_update_prefetch_bind_param(compiler, c, process=True, name=None): class _multiparam_column(elements.ColumnElement): def __init__(self, original, index): - self.key = "%s_%d" % (original.key, index + 1) + self.key = "%s_m%d" % (original.key, index + 1) self.original = original self.default = original.default self.type = original.type @@ -603,7 +603,7 @@ def _extend_values_for_multiparams(compiler, stmt, values, kw): c, (_create_bind_param( compiler, c, row[c.key], - name="%s_%d" % (c.key, i + 1) + name="%s_m%d" % (c.key, i + 1) ) if elements._is_literal(row[c.key]) else compiler.process( row[c.key].self_group(), **kw)) |