]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
changelog updates
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 3 May 2021 19:24:48 +0000 (15:24 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 3 May 2021 19:24:48 +0000 (15:24 -0400)
Change-Id: Ieee55faa002cc25b3009f643e1c992180de92292

doc/build/changelog/unreleased_14/6408.rst
doc/build/changelog/unreleased_14/6410.rst
doc/build/changelog/unreleased_14/6419_6420.rst

index 70653fb3b2d5f515864b908e7036fc61e7e90b1c..6dcb81c75ad07cdb4e80a95d64352cbd10a5f745 100644 (file)
@@ -5,19 +5,20 @@
     Restored a legacy transactional behavior that was inadvertently removed
     from the :class:`_engine.Connection` as it was never tested as a known use
     case in previous versions, where calling upon the
-    :meth:`_engine.Connection.begin_nested` method, when no transaction were
-    present, would not create a SAVEPOINT at all, and would instead only start
-    the outermost transaction alone, and return that :class:`.RootTransaction`
-    object, acting like the outermost transaction.   Committing the transaction
-    object returned by :meth:`_engine.Connection.begin_nested` would therefore
-    emit a real COMMIT on the database connection.
+    :meth:`_engine.Connection.begin_nested` method, when no transaction is
+    present, does not create a SAVEPOINT at all and instead starts an outer
+    transaction, returning a :class:`.RootTransaction` object instead of a
+    :class:`.NestedTransaction` object.  This :class:`.RootTransaction` then
+    will emit a real COMMIT on the database connection when committed.
+    Previously, the 2.0 style behavior was present in all cases that would
+    autobegin a transaction but not commit it, which is a behavioral change.
 
-    This behavior is not at all what the 2.0 style connection will do - in 2.0
-    style, calling :meth:`_future.Connection.begin_nested` will "autobegin" the
-    outer transaction, and then as instructed emit a SAVEPOINT, returning the
-    :class:`.NestedTransaction` object. The outer transaction is committed by
-    calling upon :meth:`_future.Connection.commit`, as is "commit-as-you-go"
-    style usage.
+    When using a :term:`2.0 style` connection object, the behavior is unchanged
+    from previous 1.4 versions; calling :meth:`_future.Connection.begin_nested`
+    will "autobegin" the outer transaction if not already present, and then as
+    instructed emit a SAVEPOINT, returning the :class:`.NestedTransaction`
+    object. The outer transaction is committed by calling upon
+    :meth:`_future.Connection.commit`, as is "commit-as-you-go" style usage.
 
     In non-"future" mode, while the old behavior is restored, it also
     emits a 2.0 deprecation warning as this is a legacy behavior.
index be997c6b8c261aa5aab79df67bf6e3433188437e..df6b31bcda7990c4f935deb25e765813b8c4ec12 100644 (file)
@@ -5,5 +5,6 @@
     Fixed regression in ``selectinload`` loader strategy that would cause it to
     cache its internal state incorrectly when handling relationships that join
     across more than one column, such as when using a composite foreign key.
-    The invalid caching would then cause other loader operations to fail.
+    The invalid caching would then cause other unrelated loader operations to
+    fail.
 
index af1d4d732c474c94f0b3ddbdda96592a31a3179f..d3d60b9b1e03e9c7ced327263f1a7d4fbf677760 100644 (file)
@@ -8,7 +8,7 @@
 
 .. change::
     :tags: bug, orm, regression
-    :tickets: #6420
+    :tickets: 6420
 
     Fixed regression where using the :func:`_orm.noload` loader strategy in
     conjunction with a "dynamic" relationship would lead to an attribute error