diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2016-11-10 17:22:41 -0500 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@awstats.zzzcomputing.com> | 2016-11-10 17:22:41 -0500 |
| commit | 03429812125c0265b90f6e1d706d132b88a0161c (patch) | |
| tree | f8faa1bf0441abee557b8a4b80031d4b6916f8ec /lib/sqlalchemy | |
| parent | e81660d5c0ace2a805557d6dbb0f190991aaeaec (diff) | |
| parent | c9d8a67b52d1f86e694fab4ccab357432941334b (diff) | |
| download | sqlalchemy-03429812125c0265b90f6e1d706d132b88a0161c.tar.gz | |
Merge "Consider version_id_prop when emitting bulk UPDATE"
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/persistence.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py index bf51a2a83..2f7acba3a 100644 --- a/lib/sqlalchemy/orm/persistence.py +++ b/lib/sqlalchemy/orm/persistence.py @@ -84,11 +84,16 @@ def _bulk_update(mapper, mappings, session_transaction, cached_connections = _cached_connection_dict(base_mapper) + search_keys = mapper._primary_key_propkeys + if mapper._version_id_prop: + search_keys = set([mapper._version_id_prop.key]).union(search_keys) + def _changed_dict(mapper, state): return dict( (k, v) for k, v in state.dict.items() if k in state.committed_state or k - in mapper._primary_key_propkeys + in search_keys + ) if isstates: |
