summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.py
diff options
context:
space:
mode:
authorCatherine Devlin <catherine.devlin@gmail.com>2008-03-20 16:48:46 +0000
committerCatherine Devlin <catherine.devlin@gmail.com>2008-03-20 16:48:46 +0000
commit6d5cb2522b0fbb849032a7cdcbfa27baee10c587 (patch)
treebd4e72be248f7596f1fcbd80a6bdbeaf74ac554e /lib/sqlalchemy/sql/compiler.py
parent50206ec2adcd1c38bc4dad98c7775c7ea8ecd10c (diff)
downloadsqlalchemy-6d5cb2522b0fbb849032a7cdcbfa27baee10c587.tar.gz
Undoing patch #994, for now; more testing needed. Sorry. Also modifying test for query equivalence to account for underscoring of bind variables.
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r--lib/sqlalchemy/sql/compiler.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 4a45d6c15..6a048a780 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -649,11 +649,6 @@ class DefaultCompiler(engine.Compiled):
self.stack.pop(-1)
return text
-
- def create_insert_update_bind(self, col, value):
- bindparam = sql.bindparam(col.key, value, type_=col.type)
- self.binds[col.key] = bindparam
- return self.bindparam_string(self._truncate_bindparam(bindparam))
def _get_colparams(self, stmt):
"""create a set of tuples representing column/string pairs for use
@@ -661,13 +656,18 @@ class DefaultCompiler(engine.Compiled):
"""
+ def create_bind_param(col, value):
+ bindparam = sql.bindparam(col.key, value, type_=col.type)
+ self.binds[col.key] = bindparam
+ return self.bindparam_string(self._truncate_bindparam(bindparam))
+
self.postfetch = []
self.prefetch = []
# no parameters in the statement, no parameters in the
# compiled params - return binds for all columns
if self.column_keys is None and stmt.parameters is None:
- return [(c, self.create_insert_update_bind(c, None)) for c in stmt.table.columns]
+ return [(c, create_bind_param(c, None)) for c in stmt.table.columns]
# if we have statement parameters - set defaults in the
# compiled params
@@ -686,7 +686,7 @@ class DefaultCompiler(engine.Compiled):
if c.key in parameters:
value = parameters[c.key]
if sql._is_literal(value):
- value = self.create_insert_update_bind(c, value)
+ value = create_bind_param(c, value)
else:
self.postfetch.append(c)
value = self.process(value.self_group())
@@ -699,7 +699,7 @@ class DefaultCompiler(engine.Compiled):
not self.dialect.supports_pk_autoincrement) or
(c.default is not None and
not isinstance(c.default, schema.Sequence))):
- values.append((c, self.create_insert_update_bind(c, None)))
+ values.append((c, create_bind_param(c, None)))
self.prefetch.append(c)
elif isinstance(c.default, schema.ColumnDefault):
if isinstance(c.default.arg, sql.ClauseElement):
@@ -708,7 +708,7 @@ class DefaultCompiler(engine.Compiled):
# dont add primary key column to postfetch
self.postfetch.append(c)
else:
- values.append((c, self.create_insert_update_bind(c, None)))
+ values.append((c, create_bind_param(c, None)))
self.prefetch.append(c)
elif isinstance(c.default, schema.PassiveDefault):
if not c.primary_key:
@@ -725,7 +725,7 @@ class DefaultCompiler(engine.Compiled):
values.append((c, self.process(c.onupdate.arg.self_group())))
self.postfetch.append(c)
else:
- values.append((c, self.create_insert_update_bind(c, None)))
+ values.append((c, create_bind_param(c, None)))
self.prefetch.append(c)
elif isinstance(c.onupdate, schema.PassiveDefault):
self.postfetch.append(c)