rel_2_0_37
版本发布时间: 2025-01-10 06:43:36
sqlalchemy/sqlalchemy最新发布版本:rel_2_0_37(2025-01-10 06:43:36)
2.0.37
Released: January 9, 2025
orm
-
[orm] [bug] Fixed issue regarding
Union
types that would be present in the_orm.registry.type_annotation_map
of a_orm.registry
or declarative base class, where aMapped
element that included one of the subtypes present in thatUnion
would be matched to that entry, potentially ignoring other entries that matched exactly. The correct behavior now takes place such that an entry should only match in_orm.registry.type_annotation_map
exactly, as aUnion
type is a self-contained type. For example, an attribute withMapped[float]
would previously match to a_orm.registry.type_annotation_map
entryUnion[float, Decimal]
; this will no longer match and will now only match to an entry that statesfloat
. Pull request courtesy Frazer McLean.References: #11370
-
[orm] [bug] Fixed bug in how type unions were handled within
_orm.registry.type_annotation_map
as well as_orm.Mapped
that made the lookup behavior ofa | b
different from that ofUnion[a, b]
.References: #11944
-
[orm] [bug] Consistently handle
TypeAliasType
(defined in PEP 695) obtained with thetype X = int
syntax introduced in python 3.12. Now in all cases one such alias must be explicitly added to the type map for it to be usable insideMapped
. This change also revises the approach added in #11305, now requiring theTypeAliasType
to be added to the type map. Documentation on how unions and type alias types are handled by SQLAlchemy has been added in theorm_declarative_mapped_column_type_map
section of the documentation.References: #11955
-
[orm] [bug] Fixed regression caused by an internal code change in response to recent Mypy releases that caused the very unusual case of a list of ORM-mapped attribute expressions passed to
ColumnOperators.in_()
to no longer be accepted.References: #12019
-
[orm] [bug] Fixed issues in type handling within the
_orm.registry.type_annotation_map
feature which prevented the use of unions, using either pep-604 orUnion
syntaxes under future annotations mode, which contained multiple generic types as elements from being correctly resolvable.References: #12207
-
[orm] [bug] Fixed issue in event system which prevented an event listener from being attached and detached from multiple class-like objects, namely the
sessionmaker
orscoped_session
targets that assign toSession
subclasses.References: #12216
sql
-
[sql] [bug] Fixed issue in "lambda SQL" feature where the tracking of bound parameters could be corrupted if the same lambda were evaluated across multiple compile phases, including when using the same lambda across multiple engine instances or with statement caching disabled.
References: #12084
postgresql
-
[postgresql] [usecase] The
_postgresql.Range
type now supports_postgresql.Range.__contains__()
. Pull request courtesy of Frazer McLean.References: #12093
-
[postgresql] [bug] Fixes issue in
Dialect.get_multi_indexes()
in the PostgreSQL dialect, where an error would be thrown when attempting to use alembic with a vector index from the pgvecto.rs extension.References: #11724
-
[postgresql] [bug] Fixed issue where creating a table with a primary column of
_sql.SmallInteger
and using the asyncpg driver would result in the type being compiled toSERIAL
rather thanSMALLSERIAL
.References: #12170
-
[postgresql] [bug] Adjusted the asyncpg dialect so that an empty SQL string, which is valid for PostgreSQL server, may be successfully processed at the dialect level, such as when using
Connection.exec_driver_sql()
. Pull request courtesy Andrew Jackson.References: #12220
mysql
-
[mysql] [usecase] [mariadb] Added support for the
LIMIT
clause withDELETE
for the MySQL and MariaDB dialects, to complement the already present option forUPDATE
. TheDelete.with_dialect_options()
method of thedelete()
construct accepts parameters formysql_limit
andmariadb_limit
, allowing users to specify a limit on the number of rows deleted. Pull request courtesy of Pablo Nicolás Estevez.References: #11764
-
[mysql] [bug] [mariadb] Added logic to ensure that the
mysql_limit
andmariadb_limit
parameters ofUpdate.with_dialect_options()
andDelete.with_dialect_options()
when compiled to string will only compile if the parameter is passed as an integer; aValueError
is raised otherwise.
mariadb
-
[mariadb] [usecase] Added sql types
INET4
andINET6
in the MariaDB dialect. Pull request courtesy Adam Žurek.References: #10720
sqlite
-
[sqlite] [usecase] Added SQLite table option to enable
STRICT
tables. Pull request courtesy of Guilherme Crocetti.References: #7398
oracle
-
[oracle] [feature] Added new table option
oracle_tablespace
to specify theTABLESPACE
option when creating a table in Oracle. This allows users to define the tablespace in which the table should be created. Pull request courtesy of Miguel Grillo.References: #12016
-
[oracle] [usecase] Use the connection attribute
max_identifier_length
available in oracledb since version 2.5 when determining the identifier length in the Oracle dialect.References: #12032
-
[oracle] [bug] Fixed compilation of
TABLE
function when used in aFROM
clause in Oracle Database dialect.References: #12100
-
[oracle] [bug] Fixed issue in oracledb / cx_oracle dialects where output type handlers for
CLOB
were being routed toNVARCHAR
rather thanVARCHAR
, causing a double conversion to take place.References: #12150
1、 SQLAlchemy-2.0.37-cp310-cp310-macosx_10_9_x86_64.whl 2.01MB
2、 SQLAlchemy-2.0.37-cp310-cp310-macosx_11_0_arm64.whl 2MB
3、 SQLAlchemy-2.0.37-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2.93MB
4、 SQLAlchemy-2.0.37-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2.94MB
5、 SQLAlchemy-2.0.37-cp310-cp310-musllinux_1_2_aarch64.whl 2.9MB
6、 SQLAlchemy-2.0.37-cp310-cp310-musllinux_1_2_x86_64.whl 2.92MB
7、 SQLAlchemy-2.0.37-cp310-cp310-win32.whl 1.98MB
8、 SQLAlchemy-2.0.37-cp310-cp310-win_amd64.whl 2MB
9、 SQLAlchemy-2.0.37-cp311-cp311-macosx_10_9_x86_64.whl 2.01MB
10、 SQLAlchemy-2.0.37-cp311-cp311-macosx_11_0_arm64.whl 2MB
11、 SQLAlchemy-2.0.37-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3.06MB
12、 SQLAlchemy-2.0.37-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3.06MB
13、 SQLAlchemy-2.0.37-cp311-cp311-musllinux_1_2_aarch64.whl 3MB
14、 SQLAlchemy-2.0.37-cp311-cp311-musllinux_1_2_x86_64.whl 3.02MB
15、 SQLAlchemy-2.0.37-cp311-cp311-win32.whl 1.98MB
16、 SQLAlchemy-2.0.37-cp311-cp311-win_amd64.whl 2MB
17、 SQLAlchemy-2.0.37-cp312-cp312-macosx_10_13_x86_64.whl 2.01MB
18、 SQLAlchemy-2.0.37-cp312-cp312-macosx_11_0_arm64.whl 2MB
19、 SQLAlchemy-2.0.37-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3.09MB
20、 SQLAlchemy-2.0.37-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3.1MB
21、 SQLAlchemy-2.0.37-cp312-cp312-musllinux_1_2_aarch64.whl 3.04MB
22、 SQLAlchemy-2.0.37-cp312-cp312-musllinux_1_2_x86_64.whl 3.07MB
23、 SQLAlchemy-2.0.37-cp312-cp312-win32.whl 1.98MB
24、 SQLAlchemy-2.0.37-cp312-cp312-win_amd64.whl 2MB
25、 SQLAlchemy-2.0.37-cp313-cp313-macosx_10_13_x86_64.whl 2MB
26、 SQLAlchemy-2.0.37-cp313-cp313-macosx_11_0_arm64.whl 1.99MB
27、 SQLAlchemy-2.0.37-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3.03MB
28、 SQLAlchemy-2.0.37-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3.04MB
29、 SQLAlchemy-2.0.37-cp313-cp313-musllinux_1_2_aarch64.whl 2.98MB
30、 SQLAlchemy-2.0.37-cp313-cp313-musllinux_1_2_x86_64.whl 3MB
31、 SQLAlchemy-2.0.37-cp313-cp313-win32.whl 1.97MB
32、 SQLAlchemy-2.0.37-cp313-cp313-win_amd64.whl 2MB
33、 SQLAlchemy-2.0.37-cp37-cp37m-macosx_10_9_x86_64.whl 2.01MB
34、 SQLAlchemy-2.0.37-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2.85MB
35、 SQLAlchemy-2.0.37-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2.86MB
36、 SQLAlchemy-2.0.37-cp37-cp37m-musllinux_1_2_aarch64.whl 2.81MB
37、 SQLAlchemy-2.0.37-cp37-cp37m-musllinux_1_2_x86_64.whl 2.84MB
38、 SQLAlchemy-2.0.37-cp37-cp37m-win32.whl 1.98MB
39、 SQLAlchemy-2.0.37-cp37-cp37m-win_amd64.whl 2MB
40、 SQLAlchemy-2.0.37-cp38-cp38-macosx_10_9_x86_64.whl 2.01MB
41、 SQLAlchemy-2.0.37-cp38-cp38-macosx_11_0_arm64.whl 2MB
42、 SQLAlchemy-2.0.37-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2.96MB
43、 SQLAlchemy-2.0.37-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2.96MB
44、 SQLAlchemy-2.0.37-cp38-cp38-musllinux_1_2_aarch64.whl 2.91MB
45、 SQLAlchemy-2.0.37-cp38-cp38-musllinux_1_2_x86_64.whl 2.94MB
46、 SQLAlchemy-2.0.37-cp38-cp38-win32.whl 1.98MB
47、 SQLAlchemy-2.0.37-cp38-cp38-win_amd64.whl 2.01MB
48、 SQLAlchemy-2.0.37-cp39-cp39-macosx_10_9_x86_64.whl 2.01MB
49、 SQLAlchemy-2.0.37-cp39-cp39-macosx_11_0_arm64.whl 2MB
50、 SQLAlchemy-2.0.37-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2.95MB
51、 SQLAlchemy-2.0.37-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2.96MB
52、 SQLAlchemy-2.0.37-cp39-cp39-musllinux_1_2_aarch64.whl 2.92MB
53、 SQLAlchemy-2.0.37-cp39-cp39-musllinux_1_2_x86_64.whl 2.94MB
54、 SQLAlchemy-2.0.37-cp39-cp39-win32.whl 1.98MB
55、 SQLAlchemy-2.0.37-cp39-cp39-win_amd64.whl 2MB
56、 SQLAlchemy-2.0.37-py3-none-any.whl 1.81MB