2.0.43
Released: August 11, 2025
orm
-
[orm] [bug] 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 anColumn.onupdate
callable or a version id generator used byorm.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.References: #12748
-
[orm] [bug] Fixed issue where
_orm.mapped_column.use_existing_column
parameter in_orm.mapped_column()
would not work when the_orm.mapped_column()
is used inside of anAnnotated
type alias in polymorphic inheritance scenarios. The parameter is now properly recognized and processed during declarative mapping configuration.References: #12787
-
[orm] [bug] Improved the implementation of the
_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_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.References: #12790
engine
-
[engine] [usecase] Added new parameter
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.References: #12784
postgresql
-
[postgresql] [bug] 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 offunction_call[index]
to comply with PostgreSQL syntax requirements.References: #12778
oracle
-
[oracle] [usecase] Extended
_oracle.VECTOR
to support sparse vectors. This update introduces_oracle.VectorStorageType
to specify sparse or dense storage and added_oracle.SparseVector
. Pull request courtesy Suraj Shaw.References: #12711