summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/crud.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-10-17 11:07:14 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-10-17 12:14:41 -0400
commitf917b353e88aa11d0efff1dc8bf1dbd079d57efb (patch)
tree8ee2d25278b63f8009cbd77a9a53da1770330567 /lib/sqlalchemy/sql/crud.py
parent8ef4f6a53864ce9c57c4879d6b2aa0f81ddbf596 (diff)
downloadsqlalchemy-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.py6
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))