pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/databases/py-sqlalchemy
Module Name: pkgsrc
Committed By: adam
Date: Thu Oct 23 15:38:22 UTC 2025
Modified Files:
pkgsrc/databases/py-sqlalchemy: Makefile distinfo
Log Message:
py-sqlalchemy: updated to 2.0.44
2.0.44
platform
[platform] [bug]
Unblocked automatic greenlet installation for Python 3.14 now that there are greenlet wheels on pypi for python 3.14.
orm
[orm] [usecase]
The way ORM Annotated Declarative interprets Python PEP 695 type aliases in Mapped[] annotations has been refined to expand the lookup scheme. A PEP 695 type can now be resolved based on either its
direct presence in registry.type_annotation_map or its immediate resolved value, as long as a recursive lookup across multiple PEP 695 types is not required for it to resolve. This change reverses
part of the restrictions introduced in 2.0.37 as part of 11955, which deprecated (and disallowed in 2.1) the ability to resolve any PEP 695 type that was not explicitly present in
registry.type_annotation_map. Recursive lookups of PEP 695 types remains deprecated in 2.0 and disallowed in version 2.1, as do implicit lookups of NewType types without an entry in
registry.type_annotation_map.
engine
[engine] [bug]
Implemented initial support for free-threaded Python by adding new tests and reworking the test harness to include Python 3.13t and Python 3.14t in test runs. Two concurrency issues have been
identified and fixed: the first involves initialization of the .c collection on a FromClause, a continuation of 12302, where an optional mutex under free-threading is added; the second involves
synchronization of the pool “first_connect” event, which first received thread synchronization in 2964, however under free-threading the creation of the mutex itself runs under the same
free-threading mutex. Support for free-threaded wheels on Pypi is implemented as well within the 2.1 series only. Initial pull request and test suite courtesy Lysandros Nikolaou.
sql
[sql] [bug]
Improved the implementation of UpdateBase.returning() to use more robust logic in setting up the .c collection of a derived statement such as a CTE. This fixes issues related to RETURNING clauses
that feature expressions based on returned columns with or without qualifying labels.
schema
[schema] [bug]
Fixed issue where MetaData.reflect() did not forward dialect-specific keyword arguments to the Inspector methods, causing options like oracle_resolve_synonyms to be ignored during reflection. The
method now ensures that all extra kwargs passed to MetaData.reflect() are forwarded to Inspector.get_table_names() and related reflection methods. Pull request courtesy Lukáš Kožušník.
typing
[typing] [bug]
Fixed typing bug where the Session.execute() method advertised that it would return a CursorResult if given an insert/update/delete statement. This is not the general case as several flavors of ORM
insert/update do not actually yield a CursorResult which cannot be differentiated at the typing overload level, so the method now yields Result in all cases. For those cases where CursorResult is
known to be returned and the .rowcount attribute is required, please use typing.cast().
[typing] [bug]
Added new decorator mapped_as_dataclass(), which is a function based form of registry.mapped_as_dataclass(); the method form registry.mapped_as_dataclass() does not seem to be correctly recognized
within the scope of PEP 681 in recent mypy versions.
postgresql
[postgresql] [bug]
Fixed issue where selecting an enum array column containing NULL values would fail to parse properly in the PostgreSQL dialect. The _split_enum_values() function now correctly handles NULL entries by
converting them to Python None values.
sqlite
[sqlite] [bug]
Fixed issue where SQLite table reflection would fail for tables using WITHOUT ROWID and/or STRICT table options when the table contained generated columns. The regular expression used to parse CREATE
TABLE statements for generated column detection has been updated to properly handle these SQLite table options that appear after the column definitions. Pull request courtesy Tip ten Brink.
mssql
[mssql] [bug]
Improved the base implementation of the asyncio cursor such that it includes the option for the underlying driver’s cursor to be actively closed in those cases where it requires await in order to
complete the close sequence, rather than relying on garbage collection to “close” it, when a plain Result is returned that does not use await for any of its methods. The previous approach of relying
on gc was fine for MySQL and SQLite dialects but has caused problems with the aioodbc implementation on top of SQL Server. The new option is enabled for those dialects which have an “awaitable”
cursor.close(), which includes the aioodbc, aiomysql, and asyncmy dialects (aiosqlite is also modified for 2.1 only).
[mssql] [bug]
Fixed issue where the index reflection for SQL Server would not correctly return the order of the column inside an index when the order of the columns in the index did not match the order of the
columns in the table. Pull request courtesy of Allen Chen.
[mssql] [bug] [reflection]
Fixed issue in the MSSQL dialect’s foreign key reflection query where duplicate rows could be returned when a foreign key column and its referenced primary key column have the same name, and both the
referencing and referenced tables have indexes with the same name. This resulted in an “ForeignKeyConstraint with duplicate source column references are not supported” error when attempting to
reflect such tables. The query has been corrected to exclude indexes on the child table when looking for unique indexes referenced by foreign keys.
misc
[bug] [ext]
Fixed issue caused by an unwanted functional change while typing the MutableList class. This change also reverts all other functional changes done in the same change.
To generate a diff of this commit:
cvs rdiff -u -r1.92 -r1.93 pkgsrc/databases/py-sqlalchemy/Makefile
cvs rdiff -u -r1.79 -r1.80 pkgsrc/databases/py-sqlalchemy/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/databases/py-sqlalchemy/Makefile
diff -u pkgsrc/databases/py-sqlalchemy/Makefile:1.92 pkgsrc/databases/py-sqlalchemy/Makefile:1.93
--- pkgsrc/databases/py-sqlalchemy/Makefile:1.92 Thu Oct 9 07:57:28 2025
+++ pkgsrc/databases/py-sqlalchemy/Makefile Thu Oct 23 15:38:22 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.92 2025/10/09 07:57:28 wiz Exp $
+# $NetBSD: Makefile,v 1.93 2025/10/23 15:38:22 adam Exp $
-DISTNAME= sqlalchemy-2.0.43
+DISTNAME= sqlalchemy-2.0.44
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= databases python
MASTER_SITES= ${MASTER_SITE_PYPI:=S/SQLAlchemy/}
Index: pkgsrc/databases/py-sqlalchemy/distinfo
diff -u pkgsrc/databases/py-sqlalchemy/distinfo:1.79 pkgsrc/databases/py-sqlalchemy/distinfo:1.80
--- pkgsrc/databases/py-sqlalchemy/distinfo:1.79 Tue Aug 12 16:03:55 2025
+++ pkgsrc/databases/py-sqlalchemy/distinfo Thu Oct 23 15:38:22 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.79 2025/08/12 16:03:55 adam Exp $
+$NetBSD: distinfo,v 1.80 2025/10/23 15:38:22 adam Exp $
-BLAKE2s (sqlalchemy-2.0.43.tar.gz) = 325b9ae27da03e20c22a06d245c1798a41fb29c5e10e70ff4235a17af35781c3
-SHA512 (sqlalchemy-2.0.43.tar.gz) = 8a3c8b9116649ae6c867744b75b9019c5daeaebdcc1b251e8eb526b6ec84168282513b27ca557db3436615b09579864e01173638ccf5bd9a5ecc4537ecf0c695
-Size (sqlalchemy-2.0.43.tar.gz) = 9762949 bytes
+BLAKE2s (sqlalchemy-2.0.44.tar.gz) = 91e15a0bbab13982cc169223be596da5c18c2008e224151e39449699d67113aa
+SHA512 (sqlalchemy-2.0.44.tar.gz) = 9f34641b3c52e84c3deaf62daa9848ea527840d6aa6dc97e27d13938b0c544ee4389e96e7f7a8820db81c2f88fcece2e7214bb28b5b1f9acac95f7e55addc4ba
+Size (sqlalchemy-2.0.44.tar.gz) = 9819830 bytes
Home |
Main Index |
Thread Index |
Old Index