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 Dec 11 15:21:27 UTC 2025

Modified Files:
        pkgsrc/databases/py-sqlalchemy: Makefile distinfo

Log Message:
py-sqlalchemy: updated to 2.0.45

2.0.45

orm

[orm] [bug]

Fixed issue where calling Mapper.add_property() within mapper event hooks such as MapperEvents.instrument_class(), MapperEvents.after_mapper_constructed(), or MapperEvents.before_mapper_configured() 
would raise an AttributeError because the mapper’s internal property collections were not yet initialized. The Mapper.add_property() method now handles early-stage property additions correctly, 
allowing properties including column properties, deferred columns, and relationships to be added during mapper initialization events. Pull request courtesy G Allajmi.

[orm] [bug]

Fixed issue in Python 3.14 where dataclass transformation would fail when a mapped class using MappedAsDataclass included a relationship() referencing a class that was not available at runtime (e.g., 
within a TYPE_CHECKING block). This occurred when using Python 3.14’s PEP 649 deferred annotations feature, which is the default behavior without a from __future__ import annotations directive.

examples

[examples] [bug]

Fixed the “short_selects” performance example where the cache was being used in all the examples, making it impossible to compare performance with and without the cache. Less important comparisons 
like “lambdas” and “baked queries” have been removed.

sql

[sql] [bug]

Some improvements to the ClauseElement.params() method to replace bound parameters in a query were made, however the ultimate issue in 12915 involving ORM aliased() cannot be fixed fully until 2.1, 
where the method is being rewritten to work without relying on Core cloned traversal.

[sql] [bug]

Fixed issue where using the ColumnOperators.in_() operator with a nested CompoundSelect statement (e.g. an INTERSECT of UNION queries) would raise a NotImplementedError when the nested compound 
select was the first argument to the outer compound select. The _scalar_type() internal method now properly handles nested compound selects.

typing

[typing] [bug]

Fixed typing issue where Select.with_for_update() would not support lists of ORM entities or other FROM clauses in the Select.with_for_update.of parameter. Pull request courtesy Shamil.

[typing] [bug]

Fixed typing issue where coalesce would not return the correct return type when a nullable form of that argument were passed, even though this function is meant to select the non-null entry among 
possibly null arguments. Pull request courtesy Yannick PÉROUX.

postgresql

[postgresql] [usecase]

Added support for reflection of collation in types for PostgreSQL. The collation will be set only if different from the default one for the type. Pull request courtesy Denis Laxalde.

[postgresql] [bug]

Fixed issue where PostgreSQL dialect options such as postgresql_include on PrimaryKeyConstraint and UniqueConstraint were rendered in the wrong position when combined with constraint deferrability 
options like deferrable=True. Pull request courtesy G Allajmi.

[postgresql] [bug]

Fixed the structure of the SQL string used for the “Insert Many Values” Behavior for INSERT statements feature when an explicit sequence with nextval() is used. The SQL function invocation for the 
sequence has been moved from being rendered inline within each tuple inside of VALUES to being rendered once in the SELECT that reads from VALUES. This change ensures the function is invoked in the 
correct order as rows are processed, rather than assuming PostgreSQL will execute inline function calls within VALUES in a particular order. While current PostgreSQL versions appear to handle the 
previous approach correctly, the database does not guarantee this behavior for future versions.

mysql

[mysql] [usecase]

Added support for MySQL 8.0.1 + FOR SHARE to be emitted for the Select.with_for_update() method, which offers compatibility with NOWAIT and SKIP LOCKED. The new syntax is used only for MySQL when 
version 8.0.1 or higher is detected. Pull request courtesy JetDrag.

sqlite

[sqlite] [bug] [reflection]

A series of improvements have been made for reflection of CHECK constraints on SQLite. The reflection logic now correctly handles table names containing the strings “CHECK” or “CONSTRAINT”, properly 
supports all four SQLite identifier quoting styles (double quotes, single quotes, brackets, and backticks) for constraint names, and accurately parses CHECK constraint expressions containing 
parentheses within string literals using balanced parenthesis matching with string context tracking. Big thanks to GruzdevAV for new test cases and implementation ideas.

[sqlite] [bug]

Fixed issue where SQLite dialect would fail to reflect constraint names that contained uppercase letters or other characters requiring quoting. The regular expressions used to parse primary key, 
foreign key, and unique constraint names from the CREATE TABLE statement have been updated to properly handle both quoted and unquoted constraint names.

tests

[tests] [change]

A noxfile.py has been added to allow testing with nox. This is a direct port of 2.1’s move to nox, however leaves the tox.ini file in place and retains all test documentation in terms of tox. Version 
2.1 will move to nox fully, including deprecation warnings for tox and new testing documentation.


To generate a diff of this commit:
cvs rdiff -u -r1.93 -r1.94 pkgsrc/databases/py-sqlalchemy/Makefile
cvs rdiff -u -r1.80 -r1.81 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.93 pkgsrc/databases/py-sqlalchemy/Makefile:1.94
--- pkgsrc/databases/py-sqlalchemy/Makefile:1.93        Thu Oct 23 15:38:22 2025
+++ pkgsrc/databases/py-sqlalchemy/Makefile     Thu Dec 11 15:21:27 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.93 2025/10/23 15:38:22 adam Exp $
+# $NetBSD: Makefile,v 1.94 2025/12/11 15:21:27 adam Exp $
 
-DISTNAME=      sqlalchemy-2.0.44
+DISTNAME=      sqlalchemy-2.0.45
 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.80 pkgsrc/databases/py-sqlalchemy/distinfo:1.81
--- pkgsrc/databases/py-sqlalchemy/distinfo:1.80        Thu Oct 23 15:38:22 2025
+++ pkgsrc/databases/py-sqlalchemy/distinfo     Thu Dec 11 15:21:27 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.80 2025/10/23 15:38:22 adam Exp $
+$NetBSD: distinfo,v 1.81 2025/12/11 15:21:27 adam Exp $
 
-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
+BLAKE2s (sqlalchemy-2.0.45.tar.gz) = fdc5e4828f73545101685bb173c15d26b89520bf7bcd15593242c353991ffa81
+SHA512 (sqlalchemy-2.0.45.tar.gz) = f7e603a893273c6bbd4f266bf186a1a043e329a695333a17147a68dadec54bf6b2fad7b11e3534bf6ce4c0e7bed3ad5ebe7a3bae01102258458a6ec33944c4a2
+Size (sqlalchemy-2.0.45.tar.gz) = 9869912 bytes



Home | Main Index | Thread Index | Old Index