summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2016-10-27 09:51:50 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-10-27 09:51:50 -0400
commite56a9d85acd165cfea08f9dc7e9d747054ce6fdb (patch)
tree9b4945ac54be816787e58f9fe8745ef56e0a7690 /doc
parent1f32d014da5d40406cd5d3996be5283c2fc57b26 (diff)
downloadsqlalchemy-e56a9d85acd165cfea08f9dc7e9d747054ce6fdb.tar.gz
Restore object to the identity_map upon delete() unconditionally
Fixed regression caused by :ticket:`2677` whereby calling :meth:`.Session.delete` on an object that was already flushed as deleted in that session would fail to set up the object in the identity map (or reject the object), causing flush errors as the object were in a state not accommodated by the unit of work. The pre-1.1 behavior in this case has been restored, which is that the object is put back into the identity map so that the DELETE statement will be attempted again, which emits a warning that the number of expected rows was not matched (unless the row were restored outside of the session). Change-Id: I9a8871f82cb1ebe67a7ad54d888d5ee835a9a40a Fixes: #3839
Diffstat (limited to 'doc')
-rw-r--r--doc/build/changelog/changelog_11.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/build/changelog/changelog_11.rst b/doc/build/changelog/changelog_11.rst
index 70db53d2f..dd8b1b45e 100644
--- a/doc/build/changelog/changelog_11.rst
+++ b/doc/build/changelog/changelog_11.rst
@@ -22,6 +22,21 @@
:version: 1.1.3
.. change::
+ :tags: bug, orm
+ :tickets: 3839
+
+ Fixed regression caused by :ticket:`2677` whereby calling
+ :meth:`.Session.delete` on an object that was already flushed as
+ deleted in that session would fail to set up the object in the
+ identity map (or reject the object), causing flush errors as the
+ object were in a state not accommodated by the unit of work.
+ The pre-1.1 behavior in this case has been restored, which is that
+ the object is put back into the identity map so that the DELETE
+ statement will be attempted again, which emits a warning that the number
+ of expected rows was not matched (unless the row were restored outside
+ of the session).
+
+ .. change::
:tags: bug, postgresql
:tickets: 3835