diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-08-08 15:26:43 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-08-08 15:26:43 +0000 |
| commit | 491f6796f869d597922018660cc491441a878543 (patch) | |
| tree | 309449629921c591ce24d9b597a62560d4163a85 /lib/sqlalchemy/sql | |
| parent | b365cc839698c847a9df3c08b53dd5603a2d901c (diff) | |
| download | sqlalchemy-491f6796f869d597922018660cc491441a878543.tar.gz | |
- turned on auto-returning for oracle, some errors
- added make_transient() [ticket:1052]
- ongoing refactor of compiler _get_colparams() (more to come)
Diffstat (limited to 'lib/sqlalchemy/sql')
| -rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index b6d717356..6935e31e5 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -746,17 +746,17 @@ class SQLCompiler(engine.Compiled): return text + def _create_crud_bind_param(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 in an INSERT or UPDATE statement. """ - 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 = [] self.returning = [] @@ -764,7 +764,7 @@ class SQLCompiler(engine.Compiled): # 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, create_bind_param(c, None)) for c in stmt.table.columns] + return [(c, self._create_crud_bind_param(c, None)) for c in stmt.table.columns] # if we have statement parameters - set defaults in the # compiled params @@ -793,7 +793,7 @@ class SQLCompiler(engine.Compiled): if c.key in parameters: value = parameters[c.key] if sql._is_literal(value): - value = create_bind_param(c, value) + value = self._create_crud_bind_param(c, value) else: self.postfetch.append(c) value = self.process(value.self_group()) @@ -819,7 +819,7 @@ class SQLCompiler(engine.Compiled): values.append((c, self.process(c.default.arg.self_group()))) self.returning.append(c) elif c.default is not None: - values.append((c, create_bind_param(c, None))) + values.append((c, self._create_crud_bind_param(c, None))) self.prefetch.append(c) else: self.returning.append(c) @@ -833,7 +833,7 @@ class SQLCompiler(engine.Compiled): ) or \ self.dialect.preexecute_autoincrement_sequences: - values.append((c, create_bind_param(c, None))) + values.append((c, self._create_crud_bind_param(c, None))) self.prefetch.append(c) elif isinstance(c.default, schema.ColumnDefault): @@ -844,7 +844,7 @@ class SQLCompiler(engine.Compiled): # dont add primary key column to postfetch self.postfetch.append(c) else: - values.append((c, create_bind_param(c, None))) + values.append((c, self._create_crud_bind_param(c, None))) self.prefetch.append(c) elif c.server_default is not None: if not c.primary_key: @@ -861,7 +861,7 @@ class SQLCompiler(engine.Compiled): values.append((c, self.process(c.onupdate.arg.self_group()))) self.postfetch.append(c) else: - values.append((c, create_bind_param(c, None))) + values.append((c, self._create_crud_bind_param(c, None))) self.prefetch.append(c) elif c.server_onupdate is not None: self.postfetch.append(c) |
