]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- Session.refresh() now does an equivalent expire()
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 29 Mar 2010 21:56:02 +0000 (17:56 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 29 Mar 2010 21:56:02 +0000 (17:56 -0400)
commit75e14f855ee64a01bb79e66f8a868911f6c9e583
tree57e0fe600809b12db44040beed4b2e19cde22d6c
parentf35132267e2245f44f44d94c25a3d2015c224ac2
- Session.refresh() now does an equivalent expire()
on the given instance first, so that the "refresh-expire"
cascade is propagated.   Previously, refresh() was
not affected in any way by the presence of "refresh-expire"
cascade.   This is a change in behavior versus that
of 0.6beta2, where the "lockmode" flag passed to refresh()
would cause a version check to occur.  Since the instance
is first expired, refresh() always upgrades the object
to the most recent version.

- The 'refresh-expire' cascade, when reaching a pending object,
will expunge the object if the cascade also includes
"delete-orphan", or will simply detach it otherwise.
[ticket:1754]
CHANGES
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/test/requires.py
test/orm/test_expire.py
test/orm/test_versioning.py