]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- Fixed a few edge cases which arise in the so-called "row switch"
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 29 May 2014 00:01:21 +0000 (20:01 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 29 May 2014 00:01:21 +0000 (20:01 -0400)
commitbc08ee9029258b23171bb67e191452e6c739c597
treedac856792e87f4f68bd37d4f070d61ce5db0c596
parentd60b680e967ea70f0b6b572ff9febb12c48afd3e
- Fixed a few edge cases which arise in the so-called "row switch"
scenario, where an INSERT/DELETE can be turned into an UPDATE.
In this situation, a many-to-one relationship set to None, or
in some cases a scalar attribute set to None, may not be detected
as a net change in value, and therefore the UPDATE would not reset
what was on the previous row.   This is due to some as-yet
unresovled side effects of the way attribute history works in terms
of implicitly assuming None isn't really a "change" for a previously
un-set attribute.  See also :ticket:`3061`. fixes #3060
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/dependency.py
lib/sqlalchemy/orm/persistence.py
lib/sqlalchemy/orm/sync.py
test/orm/test_attributes.py
test/orm/test_unitofworkv2.py