rel_1_4_42
版本发布时间: 2022-10-16 22:25:26
sqlalchemy/sqlalchemy最新发布版本:rel_2_0_36(2024-10-16 03:41:54)
1.4.42
Released: October 16, 2022
orm
-
[orm] [bug] The
_orm.Session.execute.bind_arguments
dictionary is no longer mutated when passed to_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_orm.Session.get_bind()
method would be incorrectly referring to the_sql.Select
construct used for the "fetch" synchronization strategy, when the actual query being emitted was a_dml.Delete
or_dml.Update
. This would interfere with recipes for "routing sessions".References: #8614
-
[orm] [bug] A warning is emitted in ORM configurations when an explicit
_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.References: #7094
-
[orm] [bug] 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.
References: #7545
-
[orm] [bug] [regression] Fixed regression for 1.4 in
_orm.contains_eager()
where the "wrap in subquery" logic of_orm.joinedload()
would be inadvertently triggered for use of the_orm.contains_eager()
function with similar statements (e.g. those that usedistinct()
,limit()
oroffset()
), 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_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.References: #8569
-
[orm] [bug] [regression] 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.
References: #8507
engine
-
[engine] [bug] Fixed issue where mixing "*" with additional explicitly-named column expressions within the columns clause of a
_sql.select()
construct would cause result-column targeting to sometimes consider the label name or other non-repeated names to be an ambiguous target.References: #8536
asyncio
-
[asyncio] [bug] Improved implementation of
asyncio.shield()
used in context managers as added in #8145, such that the "close" operation is enclosed within anasyncio.Task
which is then strongly referenced as the operation proceeds. This is per Python documentation indicating that the task is otherwise not strongly referenced.References: #8516
postgresql
-
[postgresql] [usecase]
_postgresql.aggregate_order_by
now supports cache generation.References: #8574
mysql
-
[mysql] [bug] 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.
References: #8588
mssql
-
[mssql] [bug] [regression] Fixed yet another regression in SQL Server isolation level fetch (see #8231, #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.References: #8525
1、 SQLAlchemy-1.4.42-cp27-cp27m-macosx_10_14_x86_64.whl 1.48MB
2、 SQLAlchemy-1.4.42-cp27-cp27m-manylinux_2_5_x86_64.manylinux1_x86_64.whl 1.52MB
3、 SQLAlchemy-1.4.42-cp27-cp27m-win32.whl 1.49MB
4、 SQLAlchemy-1.4.42-cp27-cp27m-win_amd64.whl 1.49MB
5、 SQLAlchemy-1.4.42-cp27-cp27mu-manylinux_2_5_x86_64.manylinux1_x86_64.whl 1.52MB
6、 SQLAlchemy-1.4.42-cp310-cp310-macosx_10_15_x86_64.whl 1.48MB
7、 SQLAlchemy-1.4.42-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
10、 SQLAlchemy-1.4.42-cp310-cp310-win32.whl 1.5MB
11、 SQLAlchemy-1.4.42-cp310-cp310-win_amd64.whl 1.5MB
12、 SQLAlchemy-1.4.42-cp311-cp311-macosx_10_9_universal2.whl 1.5MB
13、 SQLAlchemy-1.4.42-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
15、 SQLAlchemy-1.4.42-cp311-cp311-win32.whl 1.5MB
16、 SQLAlchemy-1.4.42-cp311-cp311-win_amd64.whl 1.5MB
17、 SQLAlchemy-1.4.42-cp36-cp36m-macosx_10_14_x86_64.whl 1.48MB
18、 SQLAlchemy-1.4.42-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
21、 SQLAlchemy-1.4.42-cp36-cp36m-win32.whl 1.5MB
22、 SQLAlchemy-1.4.42-cp36-cp36m-win_amd64.whl 1.5MB
23、 SQLAlchemy-1.4.42-cp37-cp37m-macosx_10_15_x86_64.whl 1.48MB
24、 SQLAlchemy-1.4.42-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
27、 SQLAlchemy-1.4.42-cp37-cp37m-win32.whl 1.5MB
28、 SQLAlchemy-1.4.42-cp37-cp37m-win_amd64.whl 1.5MB
29、 SQLAlchemy-1.4.42-cp38-cp38-macosx_10_15_x86_64.whl 1.48MB
30、 SQLAlchemy-1.4.42-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
33、 SQLAlchemy-1.4.42-cp38-cp38-win32.whl 1.5MB
34、 SQLAlchemy-1.4.42-cp38-cp38-win_amd64.whl 1.5MB
35、 SQLAlchemy-1.4.42-cp39-cp39-macosx_10_15_x86_64.whl 1.48MB
36、 SQLAlchemy-1.4.42-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1.53MB
39、 SQLAlchemy-1.4.42-cp39-cp39-win32.whl 1.5MB