From: Mike Bayer Date: Thu, 18 May 2023 18:06:26 +0000 (-0400) Subject: - 2.0.14 X-Git-Tag: rel_2_0_14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=caefe402d02374f81e92639217be880deda03b58;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - 2.0.14 --- diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst index a153eac6ca..8e4eeb1005 100644 --- a/doc/build/changelog/changelog_20.rst +++ b/doc/build/changelog/changelog_20.rst @@ -10,7 +10,93 @@ .. changelog:: :version: 2.0.14 - :include_notes_from: unreleased_20 + :released: May 18, 2023 + + .. change:: + :tags: bug, sql + :tickets: 9772 + + Fixed issue in :func:`_sql.values` construct where an internal compilation + error would occur if the construct were used inside of a scalar subquery. + + .. change:: + :tags: usecase, sql + :tickets: 9752 + + + Generalized the MSSQL :func:`_sql.try_cast` function into the + ``sqlalchemy.`` import namespace so that it may be implemented by third + party dialects as well. Within SQLAlchemy, the :func:`_sql.try_cast` + function remains a SQL Server-only construct that will raise + :class:`.CompileError` if used with backends that don't support it. + + :func:`_sql.try_cast` implements a CAST where un-castable conversions are + returned as NULL, instead of raising an error. Theoretically, the construct + could be implemented by third party dialects for Google BigQuery, DuckDB, + and Snowflake, and possibly others. + + Pull request courtesy Nick Crews. + + .. change:: + :tags: bug, tests, pypy + :tickets: 9789 + + Fixed test that relied on the ``sys.getsizeof()`` function to not run on + pypy, where this function appears to have different behavior than it does + on cpython. + + .. change:: + :tags: bug, orm + :tickets: 9777 + + Modified the ``JoinedLoader`` implementation to use a simpler approach in + one particular area where it previously used a cached structure that would + be shared among threads. The rationale is to avoid a potential race + condition which is suspected of being the cause of a particular crash + that's been reported multiple times. The cached structure in question is + still ultimately "cached" via the compiled SQL cache, so a performance + degradation is not anticipated. + + .. change:: + :tags: bug, orm, regression + :tickets: 9767 + + Fixed regression where use of :func:`_dml.update` or :func:`_dml.delete` + within a :class:`_sql.CTE` construct, then used in a :func:`_sql.select`, + would raise a :class:`.CompileError` as a result of ORM related rules for + performing ORM-level update/delete statements. + + .. change:: + :tags: bug, orm + :tickets: 9766 + + Fixed issue in new ORM Annotated Declarative where using a + :class:`_schema.ForeignKey` (or other column-level constraint) inside of + :func:`_orm.mapped_column` which is then copied out to models via pep-593 + ``Annotated`` would apply duplicates of each constraint to the + :class:`_schema.Column` as produced in the target :class:`_schema.Table`, + leading to incorrect CREATE TABLE DDL as well as migration directives under + Alembic. + + .. change:: + :tags: bug, orm + :tickets: 9779 + + Fixed issue where using additional relationship criteria with the + :func:`_orm.joinedload` loader option, where the additional criteria itself + contained correlated subqueries that referred to the joined entities and + therefore also required "adaption" to aliased entities, would be excluded + from this adaption, producing the wrong ON clause for the joinedload. + + .. change:: + :tags: bug, postgresql + :tickets: 9773 + + Fixed apparently very old issue where the + :paramref:`_postgresql.ENUM.create_type` parameter, when set to its + non-default of ``False``, would not be propagated when the + :class:`_schema.Column` which it's a part of were copied, as is common when + using ORM Declarative mixins. .. changelog:: :version: 2.0.13 diff --git a/doc/build/changelog/unreleased_20/9752.rst b/doc/build/changelog/unreleased_20/9752.rst deleted file mode 100644 index 7f199280e3..0000000000 --- a/doc/build/changelog/unreleased_20/9752.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. change:: - :tags: usecase, sql - :tickets: 9752 - - - Generalized the MSSQL :func:`_sql.try_cast` function into the - ``sqlalchemy.`` import namespace so that it may be implemented by third - party dialects as well. Within SQLAlchemy, the :func:`_sql.try_cast` - function remains a SQL Server-only construct that will raise - :class:`.CompileError` if used with backends that don't support it. - - :func:`_sql.try_cast` implements a CAST where un-castable conversions are - returned as NULL, instead of raising an error. Theoretically, the construct - could be implemented by third party dialects for Google BigQuery, DuckDB, - and Snowflake, and possibly others. - - Pull request courtesy Nick Crews. diff --git a/doc/build/changelog/unreleased_20/9766.rst b/doc/build/changelog/unreleased_20/9766.rst deleted file mode 100644 index 588ce1791c..0000000000 --- a/doc/build/changelog/unreleased_20/9766.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9766 - - Fixed issue in new ORM Annotated Declarative where using a - :class:`_schema.ForeignKey` (or other column-level constraint) inside of - :func:`_orm.mapped_column` which is then copied out to models via pep-593 - ``Annotated`` would apply duplicates of each constraint to the - :class:`_schema.Column` as produced in the target :class:`_schema.Table`, - leading to incorrect CREATE TABLE DDL as well as migration directives under - Alembic. diff --git a/doc/build/changelog/unreleased_20/9767.rst b/doc/build/changelog/unreleased_20/9767.rst deleted file mode 100644 index 6ad6488eb1..0000000000 --- a/doc/build/changelog/unreleased_20/9767.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: bug, orm, regression - :tickets: 9767 - - Fixed regression where use of :func:`_dml.update` or :func:`_dml.delete` - within a :class:`_sql.CTE` construct, then used in a :func:`_sql.select`, - would raise a :class:`.CompileError` as a result of ORM related rules for - performing ORM-level update/delete statements. diff --git a/doc/build/changelog/unreleased_20/9772.rst b/doc/build/changelog/unreleased_20/9772.rst deleted file mode 100644 index ff448fabdf..0000000000 --- a/doc/build/changelog/unreleased_20/9772.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, sql - :tickets: 9772 - - Fixed issue in :func:`_sql.values` construct where an internal compilation - error would occur if the construct were used inside of a scalar subquery. diff --git a/doc/build/changelog/unreleased_20/9773.rst b/doc/build/changelog/unreleased_20/9773.rst deleted file mode 100644 index 839bfaab66..0000000000 --- a/doc/build/changelog/unreleased_20/9773.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 9773 - - Fixed apparently very old issue where the - :paramref:`_postgresql.ENUM.create_type` parameter, when set to its - non-default of ``False``, would not be propagated when the - :class:`_schema.Column` which it's a part of were copied, as is common when - using ORM Declarative mixins. diff --git a/doc/build/changelog/unreleased_20/9777.rst b/doc/build/changelog/unreleased_20/9777.rst deleted file mode 100644 index 0f043f9beb..0000000000 --- a/doc/build/changelog/unreleased_20/9777.rst +++ /dev/null @@ -1,11 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9777 - - Modified the ``JoinedLoader`` implementation to use a simpler approach in - one particular area where it previously used a cached structure that would - be shared among threads. The rationale is to avoid a potential race - condition which is suspected of being the cause of a particular crash - that's been reported multiple times. The cached structure in question is - still ultimately "cached" via the compiled SQL cache, so a performance - degradation is not anticipated. diff --git a/doc/build/changelog/unreleased_20/9779.rst b/doc/build/changelog/unreleased_20/9779.rst deleted file mode 100644 index ab417b2dc9..0000000000 --- a/doc/build/changelog/unreleased_20/9779.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 9779 - - Fixed issue where using additional relationship criteria with the - :func:`_orm.joinedload` loader option, where the additional criteria itself - contained correlated subqueries that referred to the joined entities and - therefore also required "adaption" to aliased entities, would be excluded - from this adaption, producing the wrong ON clause for the joinedload. diff --git a/doc/build/changelog/unreleased_20/9789.rst b/doc/build/changelog/unreleased_20/9789.rst deleted file mode 100644 index bae1537cd5..0000000000 --- a/doc/build/changelog/unreleased_20/9789.rst +++ /dev/null @@ -1,7 +0,0 @@ -.. change:: - :tags: bug, tests, pypy - :tickets: 9789 - - Fixed test that relied on the ``sys.getsizeof()`` function to not run on - pypy, where this function appears to have different behavior than it does - on cpython. diff --git a/doc/build/conf.py b/doc/build/conf.py index 19e06de6a6..23532bbbb6 100644 --- a/doc/build/conf.py +++ b/doc/build/conf.py @@ -242,9 +242,9 @@ copyright = "2007-2023, the SQLAlchemy authors and contributors" # noqa # The short X.Y version. version = "2.0" # The full version, including alpha/beta/rc tags. -release = "2.0.13" +release = "2.0.14" -release_date = "May 10, 2023" +release_date = "May 18, 2023" site_base = os.environ.get("RTD_SITE_BASE", "https://www.sqlalchemy.org") site_adapter_template = "docs_adapter.mako"