diff options
author | Catherine Devlin <catherine.devlin@gmail.com> | 2008-03-20 16:48:46 +0000 |
---|---|---|
committer | Catherine Devlin <catherine.devlin@gmail.com> | 2008-03-20 16:48:46 +0000 |
commit | 6d5cb2522b0fbb849032a7cdcbfa27baee10c587 (patch) | |
tree | bd4e72be248f7596f1fcbd80a6bdbeaf74ac554e /lib/sqlalchemy/sql/compiler.py | |
parent | 50206ec2adcd1c38bc4dad98c7775c7ea8ecd10c (diff) | |
download | sqlalchemy-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.py | 20 |
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) |