Fri Dec 18 08:19:28 2020 UTC ()
py-sqlalchemy: updated to 1.3.21

1.3.21

orm

[orm] [bug]

Added a comprehensive check and an informative error message for the case where a mapped class, or a string mapped class name, is passed to relationship.secondary. This is an extremely common error which warrants a clear message.

Additionally, added a new rule to the class registry resolution such that with regards to the relationship.secondary parameter, if a mapped class and its table are of the identical string name, the Table will be favored when resolving this parameter. In all other cases, the class continues to be favored if a class and table share the identical name.

[orm] [bug]

Fixed bug in Query.update() where objects in the _ormsession.Session that were already expired would be unnecessarily SELECTed individually when they were refreshed by the ���evaluate���synchronize strategy.

[orm] [bug]

Fixed bug involving the restore_load_context option of ORM events such as InstanceEvents.load() such that the flag would not be carried along to subclasses which were mapped after the event handler were first established.

sql

[sql] [bug]

A warning is emmitted if a returning() method such as Insert.returning() is called multiple times, as this does not yet support additive operation. Version 1.4 will support additive operation for this. Additionally, any combination of the Insert.returning() and ValuesBase.return_defaults() methods now raises an error as these methods are mutually exclusive; previously the operation would fail silently.

[sql] [bug]

Fixed structural compiler issue where some constructs such as MySQL / PostgreSQL ���on conflict / on duplicate key��� would rely upon the state of the Compiler object being fixed against their statement as the top level statement, which would fail in cases where those statements are branched from a different context, such as a DDL construct linked to a SQL statement.

postgresql

[postgresql] [usecase]

Added new parameter ExcludeConstraint.ops to the ExcludeConstraint object, to support operator class specification with this constraint. Pull request courtesy Alon Menczer.

[postgresql] [bug] [mysql]

Fixed regression introduced in 1.3.2 for the PostgreSQL dialect, also copied out to the MySQL dialect���s feature in 1.3.18, where usage of a non Table construct such as text() as the argument to Select.with_for_update.of would fail to be accommodated correctly within the PostgreSQL or MySQL compilers.

mysql

[mysql] [bug] [reflection]

Fixed issue where reflecting a server default on MariaDB only that contained a decimal point in the value would fail to be reflected correctly, leading towards a reflected table that lacked any server default.

[mysql] [sql]

Added missing keywords to the RESERVED_WORDS list for the MySQL dialect: action, level, mode, status, text, time. Pull request courtesy Oscar Batori.

sqlite

[sqlite] [usecase]

Added sqlite_with_rowid=False dialect keyword to enable creating tables as CREATE TABLE ��� WITHOUT ROWID. Patch courtesy Sean Anderson.

mssql

[mssql] [bug]

Fixed bug where a CREATE INDEX statement was rendered incorrectly when both mssql-include and mssql_where were specified. Pull request courtesy @Adiorz.

[mssql] [bug]

Added SQL Server code ���01000��� to the list of disconnect codes.

[mssql] [reflection] [sqlite]

Fixed issue with composite primary key columns not being reported in the correct order. Patch courtesy @fulpm.

oracle

[oracle] [usecase]

Implemented support for the SERIALIZABLE isolation level for Oracle databases, as well as a real implementation for Connection.get_isolation_level().


(adam)
diff -r1.65 -r1.66 pkgsrc/databases/py-sqlalchemy/Makefile
diff -r1.59 -r1.60 pkgsrc/databases/py-sqlalchemy/distinfo

cvs diff -r1.65 -r1.66 pkgsrc/databases/py-sqlalchemy/Makefile (expand / switch to unified diff)

--- pkgsrc/databases/py-sqlalchemy/Makefile 2020/10/21 08:58:38 1.65
+++ pkgsrc/databases/py-sqlalchemy/Makefile 2020/12/18 08:19:28 1.66
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.65 2020/10/21 08:58:38 adam Exp $ 1# $NetBSD: Makefile,v 1.66 2020/12/18 08:19:28 adam Exp $
2 2
3DISTNAME= SQLAlchemy-1.3.20 3DISTNAME= SQLAlchemy-1.3.21
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME:tl}
5CATEGORIES= databases python 5CATEGORIES= databases python
6MASTER_SITES= ${MASTER_SITE_PYPI:=S/SQLAlchemy/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=S/SQLAlchemy/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://www.sqlalchemy.org/ 9HOMEPAGE= https://www.sqlalchemy.org/
10COMMENT= Python SQL toolkit and Object Relational Mapper 10COMMENT= Python SQL toolkit and Object Relational Mapper
11LICENSE= mit 11LICENSE= mit
12 12
13TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock 13TEST_DEPENDS+= ${PYPKGPREFIX}-mock-[0-9]*:../../devel/py-mock
14TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist-[0-9]*:../../devel/py-test-xdist 14TEST_DEPENDS+= ${PYPKGPREFIX}-test-xdist-[0-9]*:../../devel/py-test-xdist
15 15
16PYTHON_VERSIONED_DEPENDENCIES= test:test 16PYTHON_VERSIONED_DEPENDENCIES= test:test

cvs diff -r1.59 -r1.60 pkgsrc/databases/py-sqlalchemy/distinfo (expand / switch to unified diff)

--- pkgsrc/databases/py-sqlalchemy/distinfo 2020/10/21 08:58:38 1.59
+++ pkgsrc/databases/py-sqlalchemy/distinfo 2020/12/18 08:19:28 1.60
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.59 2020/10/21 08:58:38 adam Exp $ 1$NetBSD: distinfo,v 1.60 2020/12/18 08:19:28 adam Exp $
2 2
3SHA1 (SQLAlchemy-1.3.20.tar.gz) = 880084078adb72592538fb36e259f1415f4ccb35 3SHA1 (SQLAlchemy-1.3.21.tar.gz) = 24b9ea2c180651190509df0af5562c2e7a6cb6e3
4RMD160 (SQLAlchemy-1.3.20.tar.gz) = 0a97e75868632ceaf86b7de78d681d88b693e065 4RMD160 (SQLAlchemy-1.3.21.tar.gz) = 33a3a52c8c948d1228934152d65a88dd8a4dd19f
5SHA512 (SQLAlchemy-1.3.20.tar.gz) = 29c52ada1a66f906ed2563df2ab093eceb7c09de45749c96031f30a1512d20b1d698e00640c777169ef3db99ab012151770a3daea45a51df934269b554ff4b28 5SHA512 (SQLAlchemy-1.3.21.tar.gz) = 50ea60b849e6f043507728482dc1a90faea853c3fb16affe1d68197903578cb31f26b3543f4671be6aec2a705343193bfa7579e8d417e74c92ee104af4fba753
6Size (SQLAlchemy-1.3.20.tar.gz) = 6264898 bytes 6Size (SQLAlchemy-1.3.21.tar.gz) = 6297278 bytes