diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-04-22 11:24:25 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-04-22 11:24:25 -0400 |
commit | ae495c69adacdd341d4ab22df4eedbbc6cb9df8e (patch) | |
tree | 5d6aadc70a7fa1aec4e12cd6f64cf0cbd482b18c /lib/sqlalchemy/engine/default.py | |
parent | 38d6c31a29b28577aabb5ae2e641cf95a3cdbc7a (diff) | |
download | sqlalchemy-ae495c69adacdd341d4ab22df4eedbbc6cb9df8e.tar.gz |
- Fixed bug that prevented implicit RETURNING from functioning
properly with composite primary key that contained zeroes.
[ticket:1778]
Diffstat (limited to 'lib/sqlalchemy/engine/default.py')
-rw-r--r-- | lib/sqlalchemy/engine/default.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index fc49c62fa..a8c336336 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -576,9 +576,14 @@ class DefaultExecutionContext(base.ExecutionContext): table = self.compiled.statement.table row = resultproxy.fetchone() - self._inserted_primary_key = [v is not None and v or row[c] - for c, v in zip(table.primary_key, self._inserted_primary_key) - ] + ipk = [] + for c, v in zip(table.primary_key, self._inserted_primary_key): + if v is not None: + ipk.append(v) + else: + ipk.append(row[c]) + + self._inserted_primary_key = ipk def last_inserted_params(self): return self._last_inserted_params |