]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- split ScalarInstrumentedAttribute into a "scalar" and an "object" version.
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 31 Oct 2007 19:11:22 +0000 (19:11 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 31 Oct 2007 19:11:22 +0000 (19:11 +0000)
commit3f4d34b42c9ad2b27b62a64d5d80e47ff3bff5d6
tree29c685b64d2230fee1aff67e310c91c2e0335f7c
parent60c3a1e8a22c999f93b402b7761fd185018eb2a9
- split ScalarInstrumentedAttribute into a "scalar" and an "object" version.
The "object" version loads the existing value on set/del, fires events,
 and handles trackparent operations; the "scalar" version does not.
- column loaders now use the "scalar" version of InstrumentedAttribute, so that
event handlers etc. don't fire off for regular column attribute operations.
- some adjustments to AttributeHistory to work properly for non-loaded attributes
- deferred column attributes no longer trigger a load operation when the
attribute is assigned to.  in those cases, the newly assigned
value will be present in the flushes' UPDATE statement unconditionally.
CHANGES
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/strategies.py
test/orm/attributes.py
test/orm/collection.py
test/orm/unitofwork.py