]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- session.merge() will not expire existing scalar attributes
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 23 Feb 2010 00:35:56 +0000 (00:35 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 23 Feb 2010 00:35:56 +0000 (00:35 +0000)
commit733d8e593a611b4601ec2ee197ca112250111b64
treefcee2bdcb033b0abdaba9286002c46582447dcbf
parent2a1eca4bbc74347a213fb22b628eae1b1762004d
- session.merge() will not expire existing scalar attributes
on an existing target if the target has a value for that
attribute, even if the incoming merged doesn't have
a value for the attribute.  This prevents unnecessary loads
on existing items.  Will still mark the attr as expired
if the destination doesn't have the attr, though, which
fulfills some contracts of deferred cols.  [ticket:1681]

- session.merge() works with relations that specifically
don't include "merge" in their cascade options - the target
is ignored completely.
CHANGES
lib/sqlalchemy/orm/properties.py
test/orm/test_merge.py