From: Mike Bayer Date: Mon, 11 Aug 2025 14:25:16 +0000 (-0400) Subject: cherry-pick changelog from 2.0.43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=73b3365e99d9a55252fc9a98b12e267c2a0b777c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git cherry-pick changelog from 2.0.43 --- diff --git a/doc/build/changelog/changelog_20.rst b/doc/build/changelog/changelog_20.rst index d8f43938f2..780db0cfcd 100644 --- a/doc/build/changelog/changelog_20.rst +++ b/doc/build/changelog/changelog_20.rst @@ -10,7 +10,78 @@ .. changelog:: :version: 2.0.43 - :include_notes_from: unreleased_20 + :released: August 11, 2025 + + .. change:: + :tags: usecase, oracle + :tickets: 12711 + + Extended :class:`_oracle.VECTOR` to support sparse vectors. This update + introduces :class:`_oracle.VectorStorageType` to specify sparse or dense + storage and added :class:`_oracle.SparseVector`. Pull request courtesy + Suraj Shaw. + + .. change:: + :tags: bug, orm + :tickets: 12748 + + Fixed issue where using the ``post_update`` feature would apply incorrect + "pre-fetched" values to the ORM objects after a multi-row UPDATE process + completed. These "pre-fetched" values would come from any column that had + an :paramref:`.Column.onupdate` callable or a version id generator used by + :paramref:`.orm.Mapper.version_id_generator`; for a version id generator + that delivered random identifiers like timestamps or UUIDs, this incorrect + data would lead to a DELETE statement against those same rows to fail in + the next step. + + + .. change:: + :tags: bug, postgresql + :tickets: 12778 + + Fixed regression in PostgreSQL dialect where JSONB subscription syntax + would generate incorrect SQL for JSONB-returning functions, causing syntax + errors. The dialect now properly wraps function calls and expressions in + parentheses when using the ``[]`` subscription syntax, generating + ``(function_call)[index]`` instead of ``function_call[index]`` to comply + with PostgreSQL syntax requirements. + + .. change:: + :tags: usecase, engine + :tickets: 12784 + + Added new parameter :paramref:`.create_engine.skip_autocommit_rollback` + which provides for a per-dialect feature of preventing the DBAPI + ``.rollback()`` from being called under any circumstances, if the + connection is detected as being in "autocommit" mode. This improves upon + a critical performance issue identified in MySQL dialects where the network + overhead of the ``.rollback()`` call remains prohibitive even if autocommit + mode is set. + + .. seealso:: + + :ref:`dbapi_autocommit_skip_rollback` + + .. change:: + :tags: bug, orm + :tickets: 12787 + + Fixed issue where :paramref:`_orm.mapped_column.use_existing_column` + parameter in :func:`_orm.mapped_column` would not work when the + :func:`_orm.mapped_column` is used inside of an ``Annotated`` type alias in + polymorphic inheritance scenarios. The parameter is now properly recognized + and processed during declarative mapping configuration. + + .. change:: + :tags: bug, orm + :tickets: 12790 + + Improved the implementation of the :func:`_orm.selectin_polymorphic` + inheritance loader strategy to properly render the IN expressions using + chunks of 500 records each, in the same manner as that of the + :func:`_orm.selectinload` relationship loader strategy. Previously, the IN + expression would be arbitrarily large, leading to failures on databases + that have limits on the size of IN expressions including Oracle Database. .. changelog:: :version: 2.0.42 diff --git a/doc/build/changelog/unreleased_20/12711.rst b/doc/build/changelog/unreleased_20/12711.rst deleted file mode 100644 index fce567f775..0000000000 --- a/doc/build/changelog/unreleased_20/12711.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. change:: - :tags: usecase, oracle - :tickets: 12711 - - Extended :class:`_oracle.VECTOR` to support sparse vectors. This update - introduces :class:`_oracle.VectorStorageType` to specify sparse or dense - storage and added :class:`_oracle.SparseVector`. Pull request courtesy - Suraj Shaw. diff --git a/doc/build/changelog/unreleased_20/12748.rst b/doc/build/changelog/unreleased_20/12748.rst deleted file mode 100644 index 6891632953..0000000000 --- a/doc/build/changelog/unreleased_20/12748.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 12748 - - Fixed issue where using the ``post_update`` feature would apply incorrect - "pre-fetched" values to the ORM objects after a multi-row UPDATE process - completed. These "pre-fetched" values would come from any column that had - an :paramref:`.Column.onupdate` callable or a version id generator used by - :paramref:`.orm.Mapper.version_id_generator`; for a version id generator - that delivered random identifiers like timestamps or UUIDs, this incorrect - data would lead to a DELETE statement against those same rows to fail in - the next step. - diff --git a/doc/build/changelog/unreleased_20/12778.rst b/doc/build/changelog/unreleased_20/12778.rst deleted file mode 100644 index fc22fc6aa8..0000000000 --- a/doc/build/changelog/unreleased_20/12778.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, postgresql - :tickets: 12778 - - Fixed regression in PostgreSQL dialect where JSONB subscription syntax - would generate incorrect SQL for JSONB-returning functions, causing syntax - errors. The dialect now properly wraps function calls and expressions in - parentheses when using the ``[]`` subscription syntax, generating - ``(function_call)[index]`` instead of ``function_call[index]`` to comply - with PostgreSQL syntax requirements. diff --git a/doc/build/changelog/unreleased_20/12784.rst b/doc/build/changelog/unreleased_20/12784.rst deleted file mode 100644 index ee1eeb0319..0000000000 --- a/doc/build/changelog/unreleased_20/12784.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. change:: - :tags: usecase, engine - :tickets: 12784 - - Added new parameter :paramref:`.create_engine.skip_autocommit_rollback` - which provides for a per-dialect feature of preventing the DBAPI - ``.rollback()`` from being called under any circumstances, if the - connection is detected as being in "autocommit" mode. This improves upon - a critical performance issue identified in MySQL dialects where the network - overhead of the ``.rollback()`` call remains prohibitive even if autocommit - mode is set. - - .. seealso:: - - :ref:`dbapi_autocommit_skip_rollback` diff --git a/doc/build/changelog/unreleased_20/12787.rst b/doc/build/changelog/unreleased_20/12787.rst deleted file mode 100644 index 44c36fe5f8..0000000000 --- a/doc/build/changelog/unreleased_20/12787.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 12787 - - Fixed issue where :paramref:`_orm.mapped_column.use_existing_column` - parameter in :func:`_orm.mapped_column` would not work when the - :func:`_orm.mapped_column` is used inside of an ``Annotated`` type alias in - polymorphic inheritance scenarios. The parameter is now properly recognized - and processed during declarative mapping configuration. diff --git a/doc/build/changelog/unreleased_20/12790.rst b/doc/build/changelog/unreleased_20/12790.rst deleted file mode 100644 index 0f28b762e7..0000000000 --- a/doc/build/changelog/unreleased_20/12790.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. change:: - :tags: bug, orm - :tickets: 12790 - - Improved the implementation of the :func:`_orm.selectin_polymorphic` - inheritance loader strategy to properly render the IN expressions using - chunks of 500 records each, in the same manner as that of the - :func:`_orm.selectinload` relationship loader strategy. Previously, the IN - expression would be arbitrarily large, leading to failures on databases - that have limits on the size of IN expressions including Oracle Database.