From 50206ec2adcd1c38bc4dad98c7775c7ea8ecd10c Mon Sep 17 00:00:00 2001 From: Catherine Devlin Date: Thu, 20 Mar 2008 02:47:46 +0000 Subject: adding zzzeek's patch from ticket #994, which fixed virtually all remaining broken unit tests in the Oracle module --- lib/sqlalchemy/engine/default.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'lib/sqlalchemy/engine/default.py') diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index dfeefa337..f716d06f5 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -371,7 +371,7 @@ class DefaultExecutionContext(base.ExecutionContext): else: val = drunner.get_column_onupdate(c) if val is not None: - param[c.key] = val + param[self.compiled.binds[c.key].key] = val self.compiled_parameters = params else: @@ -385,12 +385,15 @@ class DefaultExecutionContext(base.ExecutionContext): val = drunner.get_column_onupdate(c) if val is not None: - compiled_parameters[c.key] = val + compiled_parameters[self.compiled.binds[c.key].key] = val if self.isinsert: - self._last_inserted_ids = [compiled_parameters.get(c.key, None) for c in self.compiled.statement.table.primary_key] - self._last_inserted_params = compiled_parameters + self._last_inserted_ids = [ + k and compiled_parameters.get(k.key, None) or None for k in + [self.compiled.binds.get(c.key, None) for c in self.compiled.statement.table.primary_key] + ] + self._last_inserted_params = dict([(key, compiled_parameters[self.compiled.bind_names[b]]) for key, b in self.compiled.binds.iteritems()]) else: - self._last_updated_params = compiled_parameters + self._last_updated_params = dict([(key, compiled_parameters[self.compiled.bind_names[b]]) for key, b in self.compiled.binds.iteritems()]) self.postfetch_cols = self.compiled.postfetch -- cgit v1.2.1