Subject: CVS commit: pkgsrc/databases/py-sqlalchemy
From: Adam Ciarcinski
Date: 2025-02-07 08:14:34
Message id: 20250207071434.57F20FBE0@cvs.NetBSD.org

Log Message:
py-sqlalchemy: updated to 2.0.38

2.0.38

engine

[engine] [bug]

Fixed event-related issue where invoking Engine.execution_options() on a Engine \ 
multiple times while making use of event-registering parameters such as \ 
isolation_level would lead to internal errors involving event registration.

sql

[sql] [bug]

Reorganized the internals by which the .c collection on a FromClause gets \ 
generated so that it is resilient against the collection being accessed in \ 
concurrent fashion. An example is creating a Alias or Subquery and accessing it \ 
as a module level variable. This impacts the Oracle dialect which uses such \ 
module-level global alias objects but is of general use as well.

[sql] [bug]

Fixed SQL composition bug which impacted caching where using a None value inside \ 
of an in_() expression would bypass the usual “expanded bind parameter” \ 
logic used by the IN construct, which allows proper caching to take place.

postgresql

[postgresql] [usecase] [asyncio]

Added an additional asyncio.shield() call within the connection terminate \ 
process of the asyncpg driver, to mitigate an issue where terminate would be \ 
prevented from completing under the anyio concurrency library.

[postgresql] [bug]

Adjusted the asyncpg connection wrapper so that the connection.transaction() \ 
call sent to asyncpg sends None for isolation_level if not otherwise set in the \ 
SQLAlchemy dialect/wrapper, thereby allowing asyncpg to make use of the server \ 
level setting for isolation_level in the absense of a client-level setting. \ 
Previously, this behavior of asyncpg was blocked by a hardcoded read_committed.

mariadb

[mariadb] [bug] [dml] [mysql]

Fixed a bug where the MySQL statement compiler would not properly compile \ 
statements where Insert.on_duplicate_key_update() was passed values that \ 
included ORM-mapped attributes (e.g. InstrumentedAttribute objects) as keys. \ 
Pull request courtesy of mingyu.

sqlite

[sqlite] [bug] [aiosqlite] [asyncio] [pool]

Changed default connection pool used by the aiosqlite dialect from NullPool to \ 
AsyncAdaptedQueuePool; this change should have been made when 2.0 was first \ 
released as the pysqlite dialect was similarly changed to use QueuePool as \ 
detailed in The SQLite dialect uses QueuePool for file-based databases.

Files:
RevisionActionfile
1.84modifypkgsrc/databases/py-sqlalchemy/Makefile
1.74modifypkgsrc/databases/py-sqlalchemy/distinfo