]> 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:49 +0000 (20:01 -0400)
commit16b7f1816d54955da3062ecb3aa5012e2549cb26
tree675b0a59dd55bf937dc2402fbc2de17779e6b43d
parentd70a03dbe655506d8306af7fc601dae9c528418b
- 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