* Adjusted the test suite as well as the ORM’s method of scanning classes
for annotations to work under current beta releases of Python 3.14.
* Added support for postgresql_include keyword argument to UniqueConstraint
and PrimaryKeyConstraint.
* The values() construct gains a new method Values.cte(), which allows
creation of a named, explicit-columns CTE against an unnamed VALUES
expression, producing a syntax that allows column-oriented selection from
a VALUES construct on modern versions of PostgreSQL, SQLite, and MariaDB.
* Fixed some regressions from 2.0.40 in postgresql and mysql toolbox.
* Improved validation of execution parameters passed to the
Connection.execute() and similar methods.
* Added dataclass_metadata argument to all ORM attribute constructors that
accept dataclasses parameters.
* Implemented the defer(), undefer() and load_only() ORM loader options
to work for composite attributes.
* 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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=271
- Update to 2.0.40
* Support has been re-added for the MySQL-Connector/Python DBAPI
using the mysql+mysqlconnector:// URL scheme.
* Added support for specifying a list of columns for SET NULL and
SET DEFAULT actions of ON DELETE clause of foreign key definition
on PostgreSQL.
* Implemented support for the GROUPS frame specification in window
functions by adding groups option to over() and FunctionElement.over().
* Fixed regression in ORM Annotated Declarative class interpretation
caused by typing_extension==4.13.0 that introduced a different
implementation for TypeAliasType.
* More changes, see upstream changelog
- Wrap the metadata directory name in a distro-based conditional.
- Lowercase metadata directory name.
OBS-URL: https://build.opensuse.org/request/show/1266119
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-SQLAlchemy?expand=0&rev=121
* Support has been re-added for the MySQL-Connector/Python DBAPI
using the mysql+mysqlconnector:// URL scheme.
* Added support for specifying a list of columns for SET NULL and
SET DEFAULT actions of ON DELETE clause of foreign key definition
on PostgreSQL.
* Implemented support for the GROUPS frame specification in window
functions by adding groups option to over() and FunctionElement.over().
* Fixed regression in ORM Annotated Declarative class interpretation
caused by typing_extension==4.13.0 that introduced a different
implementation for TypeAliasType.
* More changes, see upstream changelog
- Wrap the metadata directory name in a distro-based conditional.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=267
* Fixed bug where SQL functions passed to
:paramref:`_schema.Column.server_default` would not be rendered with the
particular form of parenthesization now required by newer versions of MySQL
and MariaDB. Pull request courtesy of huuya.
* Fixed bug in ORM bulk update/delete where using RETURNING with bulk
update/delete in combination with ``populate_existing`` would fail to
accommodate the ``populate_existing`` option.
* Continuing from 🎫`11912`, columns marked with
:paramref:`.mapped_column.onupdate`,
:paramref:`.mapped_column.server_onupdate`, or :class:`.Computed` are now
refreshed in ORM instances when running an ORM enabled UPDATE with WHERE
criteria, even if the statement does not use RETURNING or
``populate_existing``.
* Added new parameter :paramref:`_orm.mapped_column.hash` to ORM constructs
such as :meth:`_orm.mapped_column`, :meth:`_orm.relationship`, etc.,
which is interpreted for ORM Native Dataclasses in the same way as other
dataclass-specific field parameters.
* Fixed bug in reflection of table comments where unrelated text would be
returned if an entry in the ``pg_description`` table happened to share the
same oid (objoid) as the table being reflected.
* Fixed regression caused by fixes to joined eager loading in 🎫`11449`
released in 2.0.31, where a particular joinedload case could not be
asserted correctly. We now have an example of that case so the assertion
has been repaired to allow for it.
* Improved the error message emitted when trying to map as dataclass a class
while also manually providing the ``__table__`` attribute.
This usage is currently not supported.
* Improved a query used for the MySQL 8 backend when reflecting foreign keys
to be better optimized. Previously, for a database that had millions of
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=262
- Switch documentation to be within the main package.
- Update to 2.0.15
# orm
* As more projects are using new-style “2.0” ORM querying, it’s
becoming apparent that the conditional nature of “autoflush”,
being based on whether or not the given statement refers to ORM
entities, is becoming more of a key behavior. Up until now, the
“ORM” flag for a statement has been loosely based around
whether or not the statement returns rows that correspond to
ORM entities or columns; the original purpose of the “ORM” flag
was to enable ORM-entity fetching rules which apply
post-processing to Core result sets as well as ORM loader
strategies to the statement. For statements that don’t build on
rows that contain ORM entities, the “ORM” flag was considered
to be mostly unnecessary.
* It still may be the case that “autoflush” would be better
taking effect for all usage of Session.execute() and related
methods, even for purely Core SQL constructs. However, this
still could impact legacy cases where this is not expected and
may be more of a 2.1 thing. For now however, the rules for the
“ORM-flag” have been opened up so that a statement that
includes ORM entities or attributes anywhere within, including
in the WHERE / ORDER BY / GROUP BY clause alone, within scalar
subqueries, etc. will enable this flag. This will cause
“autoflush” to occur for such statements and also be visible
via the ORMExecuteState.is_orm_statement event-level attribute.
References: #9805
# postgresql
* Repaired the base Uuid datatype for the PostgreSQL dialect to
OBS-URL: https://build.opensuse.org/request/show/1089853
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-SQLAlchemy?expand=0&rev=107