]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
cherry-pick changelog from 1.4.42
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 16 Oct 2022 14:25:36 +0000 (10:25 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 16 Oct 2022 14:25:36 +0000 (10:25 -0400)
doc/build/changelog/changelog_14.rst
doc/build/changelog/unreleased_14/7094.rst [deleted file]
doc/build/changelog/unreleased_14/7545.rst [deleted file]
doc/build/changelog/unreleased_14/8507.rst [deleted file]
doc/build/changelog/unreleased_14/8516.rst [deleted file]
doc/build/changelog/unreleased_14/8525.rst [deleted file]
doc/build/changelog/unreleased_14/8536.rst [deleted file]
doc/build/changelog/unreleased_14/8569.rst [deleted file]
doc/build/changelog/unreleased_14/8574.rst [deleted file]
doc/build/changelog/unreleased_14/8588.rst [deleted file]
doc/build/changelog/unreleased_14/8614.rst [deleted file]

index 2af739418823fbd7623fe4d54c9480caaa52bc3f..bd22e1aeddd9e54556c7d95fa04d15420e139f9d 100644 (file)
@@ -15,7 +15,116 @@ This document details individual issue-level changes made throughout
 
 .. changelog::
     :version: 1.4.42
-    :include_notes_from: unreleased_14
+    :released: October 16, 2022
+
+    .. change::
+        :tags: bug, asyncio
+        :tickets: 8516
+
+        Improved implementation of ``asyncio.shield()`` used in context managers as
+        added in :ticket:`8145`, such that the "close" operation is enclosed within
+        an ``asyncio.Task`` which is then strongly referenced as the operation
+        proceeds. This is per Python documentation indicating that the task is
+        otherwise not strongly referenced.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 8614
+
+        The :paramref:`_orm.Session.execute.bind_arguments` dictionary is no longer
+        mutated when passed to :meth:`_orm.Session.execute` and similar; instead,
+        it's copied to an internal dictionary for state changes. Among other
+        things, this fixes and issue where the "clause" passed to the
+        :meth:`_orm.Session.get_bind` method would be incorrectly referring to the
+        :class:`_sql.Select` construct used for the "fetch" synchronization
+        strategy, when the actual query being emitted was a :class:`_dml.Delete` or
+        :class:`_dml.Update`. This would interfere with recipes for "routing
+        sessions".
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 7094
+
+        A warning is emitted in ORM configurations when an explicit
+        :func:`_orm.remote` annotation is applied to columns that are local to the
+        immediate mapped class, when the referenced class does not include any of
+        the same table columns. Ideally this would raise an error at some point as
+        it's not correct from a mapping point of view.
+
+    .. change::
+        :tags: bug, orm
+        :tickets: 7545
+
+        A warning is emitted when attempting to configure a mapped class within an
+        inheritance hierarchy where the mapper is not given any polymorphic
+        identity, however there is a polymorphic discriminator column assigned.
+        Such classes should be abstract if they never intend to load directly.
+
+
+    .. change::
+        :tags: bug, mssql, regression
+        :tickets: 8525
+
+        Fixed yet another regression in SQL Server isolation level fetch (see
+        :ticket:`8231`, :ticket:`8475`), this time with "Microsoft Dynamics CRM
+        Database via Azure Active Directory", which apparently lacks the
+        ``system_views`` view entirely. Error catching has been extended that under
+        no circumstances will this method ever fail, provided database connectivity
+        is present.
+
+    .. change::
+        :tags: orm, bug, regression
+        :tickets: 8569
+
+        Fixed regression for 1.4 in :func:`_orm.contains_eager` where the "wrap in
+        subquery" logic of :func:`_orm.joinedload` would be inadvertently triggered
+        for use of the :func:`_orm.contains_eager` function with similar statements
+        (e.g. those that use ``distinct()``, ``limit()`` or ``offset()``), which
+        would then lead to secondary issues with queries that used some
+        combinations of SQL label names and aliasing. This "wrapping" is not
+        appropriate for :func:`_orm.contains_eager` which has always had the
+        contract that the user-defined SQL statement is unmodified with the
+        exception of adding the appropriate columns to be fetched.
+
+    .. change::
+        :tags: bug, orm, regression
+        :tickets: 8507
+
+        Fixed regression where using ORM update() with synchronize_session='fetch'
+        would fail due to the use of evaluators that are now used to determine the
+        in-Python value for expressions in the the SET clause when refreshing
+        objects; if the evaluators make use of math operators against non-numeric
+        values such as PostgreSQL JSONB, the non-evaluable condition would fail to
+        be detected correctly. The evaluator now limits the use of math mutation
+        operators to numeric types only, with the exception of "+" that continues
+        to work for strings as well. SQLAlchemy 2.0 may alter this further by
+        fetching the SET values completely rather than using evaluation.
+
+    .. change::
+        :tags: usecase, postgresql
+        :tickets: 8574
+
+        :class:`_postgresql.aggregate_order_by` now supports cache generation.
+
+    .. change::
+        :tags: bug, mysql
+        :tickets: 8588
+
+        Adjusted the regular expression used to match "CREATE VIEW" when
+        testing for views to work more flexibly, no longer requiring the
+        special keyword "ALGORITHM" in the middle, which was intended to be
+        optional but was not working correctly.  The change allows view reflection
+        to work more completely on MySQL-compatible variants such as StarRocks.
+        Pull request courtesy John Bodley.
+
+    .. change::
+        :tags: bug, engine
+        :tickets: 8536
+
+        Fixed issue where mixing "*" with additional explicitly-named column
+        expressions within the columns clause of a :func:`_sql.select` construct
+        would cause result-column targeting to sometimes consider the label name or
+        other non-repeated names to be an ambiguous target.
 
 .. changelog::
     :version: 1.4.41
diff --git a/doc/build/changelog/unreleased_14/7094.rst b/doc/build/changelog/unreleased_14/7094.rst
deleted file mode 100644 (file)
index b6fb30d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 7094
-
-    A warning is emitted in ORM configurations when an explicit
-    :func:`_orm.remote` annotation is applied to columns that are local to the
-    immediate mapped class, when the referenced class does not include any of
-    the same table columns. Ideally this would raise an error at some point as
-    it's not correct from a mapping point of view.
diff --git a/doc/build/changelog/unreleased_14/7545.rst b/doc/build/changelog/unreleased_14/7545.rst
deleted file mode 100644 (file)
index ea31d1a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 7545
-
-    A warning is emitted when attempting to configure a mapped class within an
-    inheritance hierarchy where the mapper is not given any polymorphic
-    identity, however there is a polymorphic discriminator column assigned.
-    Such classes should be abstract if they never intend to load directly.
-
diff --git a/doc/build/changelog/unreleased_14/8507.rst b/doc/build/changelog/unreleased_14/8507.rst
deleted file mode 100644 (file)
index 07944da..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: bug, orm, regression
-    :tickets: 8507
-
-    Fixed regression where using ORM update() with synchronize_session='fetch'
-    would fail due to the use of evaluators that are now used to determine the
-    in-Python value for expressions in the the SET clause when refreshing
-    objects; if the evaluators make use of math operators against non-numeric
-    values such as PostgreSQL JSONB, the non-evaluable condition would fail to
-    be detected correctly. The evaluator now limits the use of math mutation
-    operators to numeric types only, with the exception of "+" that continues
-    to work for strings as well. SQLAlchemy 2.0 may alter this further by
-    fetching the SET values completely rather than using evaluation.
diff --git a/doc/build/changelog/unreleased_14/8516.rst b/doc/build/changelog/unreleased_14/8516.rst
deleted file mode 100644 (file)
index 2f83586..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-.. change::
-    :tags: bug, asyncio
-    :tickets: 8516
-
-    Improved implementation of ``asyncio.shield()`` used in context managers as
-    added in :ticket:`8145`, such that the "close" operation is enclosed within
-    an ``asyncio.Task`` which is then strongly referenced as the operation
-    proceeds. This is per Python documentation indicating that the task is
-    otherwise not strongly referenced.
diff --git a/doc/build/changelog/unreleased_14/8525.rst b/doc/build/changelog/unreleased_14/8525.rst
deleted file mode 100644 (file)
index 8508e39..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, mssql, regression
-    :tickets: 8525
-
-    Fixed yet another regression in SQL Server isolation level fetch (see
-    :ticket:`8231`, :ticket:`8475`), this time with "Microsoft Dynamics CRM
-    Database via Azure Active Directory", which apparently lacks the
-    ``system_views`` view entirely. Error catching has been extended that under
-    no circumstances will this method ever fail, provided database connectivity
-    is present.
diff --git a/doc/build/changelog/unreleased_14/8536.rst b/doc/build/changelog/unreleased_14/8536.rst
deleted file mode 100644 (file)
index d7b5283..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-.. change::
-    :tags: bug, engine
-    :tickets: 8536
-
-    Fixed issue where mixing "*" with additional explicitly-named column
-    expressions within the columns clause of a :func:`_sql.select` construct
-    would cause result-column targeting to sometimes consider the label name or
-    other non-repeated names to be an ambiguous target.
diff --git a/doc/build/changelog/unreleased_14/8569.rst b/doc/build/changelog/unreleased_14/8569.rst
deleted file mode 100644 (file)
index 5ae6fce..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: orm, bug, regression
-    :tickets: 8569
-
-    Fixed regression for 1.4 in :func:`_orm.contains_eager` where the "wrap in
-    subquery" logic of :func:`_orm.joinedload` would be inadvertently triggered
-    for use of the :func:`_orm.contains_eager` function with similar statements
-    (e.g. those that use ``distinct()``, ``limit()`` or ``offset()``), which
-    would then lead to secondary issues with queries that used some
-    combinations of SQL label names and aliasing. This "wrapping" is not
-    appropriate for :func:`_orm.contains_eager` which has always had the
-    contract that the user-defined SQL statement is unmodified with the
-    exception of adding the appropriate columns to be fetched.
diff --git a/doc/build/changelog/unreleased_14/8574.rst b/doc/build/changelog/unreleased_14/8574.rst
deleted file mode 100644 (file)
index ffc1761..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-.. change::
-    :tags: usecase, postgresql
-    :tickets: 8574
-
-    :class:`_postgresql.aggregate_order_by` now supports cache generation.
diff --git a/doc/build/changelog/unreleased_14/8588.rst b/doc/build/changelog/unreleased_14/8588.rst
deleted file mode 100644 (file)
index 474c14c..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-.. change::
-    :tags: bug, mysql
-    :tickets: 8588
-
-    Adjusted the regular expression used to match "CREATE VIEW" when
-    testing for views to work more flexibly, no longer requiring the
-    special keyword "ALGORITHM" in the middle, which was intended to be
-    optional but was not working correctly.  The change allows view reflection
-    to work more completely on MySQL-compatible variants such as StarRocks.
-    Pull request courtesy John Bodley.
diff --git a/doc/build/changelog/unreleased_14/8614.rst b/doc/build/changelog/unreleased_14/8614.rst
deleted file mode 100644 (file)
index b975dbc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-.. change::
-    :tags: bug, orm
-    :tickets: 8614
-
-    The :paramref:`_orm.Session.execute.bind_arguments` dictionary is no longer
-    mutated when passed to :meth:`_orm.Session.execute` and similar; instead,
-    it's copied to an internal dictionary for state changes. Among other
-    things, this fixes and issue where the "clause" passed to the
-    :meth:`_orm.Session.get_bind` method would be incorrectly referring to the
-    :class:`_sql.Select` construct used for the "fetch" synchronization
-    strategy, when the actual query being emitted was a :class:`_dml.Delete` or
-    :class:`_dml.Update`. This would interfere with recipes for "routing
-    sessions".