]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- state.commit() and state.commit_all() now reconcile the current dict against expire...
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 1 Mar 2008 22:30:02 +0000 (22:30 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 1 Mar 2008 22:30:02 +0000 (22:30 +0000)
commita8c232258805ddcd5db464db06ed42a73a50c445
treea55c8e6e3ded20568a1e70796c7a17304157fdc0
parent8fee8e963de1fe050c79419dc2b176e8135ca448
- state.commit() and state.commit_all() now reconcile the current dict against expired_attributes
and unset the expired flag for those attributes.  This is partially so that attributes are not
needlessly marked as expired after a two-phase inheritance load.
- fixed bug which was introduced in 0.4.3, whereby loading an
already-persistent instance mapped with joined table inheritance
would trigger a useless "secondary" load from its joined
table, when using the default "select" polymorphic_fetch.
This was due to attributes being marked as expired
during its first load and not getting unmarked from the
previous "secondary" load.  Attributes are now unexpired
based on presence in __dict__ after any load or commit
operation succeeds.
CHANGES
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/mapper.py
test/orm/expire.py
test/orm/inheritance/polymorph.py