pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/py-sqlalchemy py-sqlalchemy: updated to 1.3.8

branches:  trunk
changeset: 338671:ae768414f8f7
user:      adam <>
date:      Wed Aug 28 06:32:52 2019 +0000

py-sqlalchemy: updated to 1.3.8



[orm] [bug]
Fixed bug where Load objects were not pickleable due to mapper/relationship state in the internal context dictionary. These objects are now converted to picklable using similar techniques as that of 
other elements within the loader option system that have long been serializable.

[orm] [usecase]
Added support for the use of an Enum datatype using Python pep-435 enumeration objects as values for use as a primary key column mapped by the ORM. As these values are not inherently sortable, as 
required by the ORM for primary keys, a new TypeEngine.sort_key_function attribute is added to the typing system which allows any SQL type to implement a sorting for Python objects of its type which 
is consulted by the unit of work. The Enum type then defines this using the database value of a given enumeration. The sorting scheme can be also be redefined by passing a callable to the 
Enum.sort_key_function parameter. Pull request courtesy Nicolas Caniart.


[engine] [feature]
Added new parameter create_engine.hide_parameters which when set to True will cause SQL parameters to no longer be logged, nor rendered in the string representation of a StatementError object.

[engine] [bug]
Fixed an issue whereby if the dialect ?initialize? process which occurs on first connect would encounter an unexpected exception, the initialize process would fail to complete and then no longer 
attempt on subsequent connection attempts, leaving the dialect in an un-initialized, or partially initialized state, within the scope of parameters that need to be established based on inspection of 
a live connection. The ?invoke once? logic in the event system has been reworked to accommodate for this occurrence using new, private API features that establish an ?exec once? hook that will 
continue to allow the initializer to fire off on subsequent connections, until it completes without raising an exception. This does not impact the behavior of the existing once=True flag within the 
event system.


[postgresql] [bug]
Revised the approach for the just added support for the psycopg2 ?execute_values()? feature added in 1.3.7. The approach relied upon a regular expression that would fail to match for a more complex 
INSERT statement such as one which had subqueries involved. The new approach matches exactly the string that was rendered as the VALUES clause.

[postgresql] [bug]
Fixed bug where Postgresql operators such as postgresql.ARRAY.Comparator.contains() and postgresql.ARRAY.Comparator.contained_by() would fail to function correctly for non-integer values when used 
against a postgresql.array object, due to an erroneous assert statement.

[postgresql] [usecase]
Added support for reflection of CHECK constraints that include the special PostgreSQL qualifier ?NOT VALID?, which can be present for CHECK constraints that were added to an exsiting table with the 
directive that they not be applied to existing data in the table. The PostgreSQL dictionary for CHECK constraints as returned by Inspector.get_check_constraints() may include an additional entry 
dialect_options which within will contain an entry "not_valid": True if this symbol is detected. Pull request courtesy Bill Finn.


[sqlite] [bug] [reflection]
Fixed bug where a FOREIGN KEY that was set up to refer to the parent table by table name only without the column names would not correctly be reflected as far as setting up the ?referred columns?, 
since SQLite?s PRAGMA does not report on these columns if they weren?t given explicitly. For some reason this was harcoded to assume the name of the local column, which might work for some cases but 
is not correct. The new approach reflects the primary key of the referred table and uses the constraint columns list as the referred columns list, if the remote column(s) aren?t present in the 
reflected pragma directly.


 databases/py-sqlalchemy/Makefile |   4 ++--
 databases/py-sqlalchemy/distinfo |  10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

diffs (27 lines):

diff -r 8b4838b4bc0a -r ae768414f8f7 databases/py-sqlalchemy/Makefile
--- a/databases/py-sqlalchemy/Makefile  Wed Aug 28 05:42:15 2019 +0000
+++ b/databases/py-sqlalchemy/Makefile  Wed Aug 28 06:32:52 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.55 2019/08/26 10:26:49 adam Exp $
+# $NetBSD: Makefile,v 1.56 2019/08/28 06:32:52 adam Exp $
-DISTNAME=      SQLAlchemy-1.3.7
+DISTNAME=      SQLAlchemy-1.3.8
 CATEGORIES=    databases python
diff -r 8b4838b4bc0a -r ae768414f8f7 databases/py-sqlalchemy/distinfo
--- a/databases/py-sqlalchemy/distinfo  Wed Aug 28 05:42:15 2019 +0000
+++ b/databases/py-sqlalchemy/distinfo  Wed Aug 28 06:32:52 2019 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.50 2019/08/26 10:26:49 adam Exp $
+$NetBSD: distinfo,v 1.51 2019/08/28 06:32:52 adam Exp $
-SHA1 (SQLAlchemy-1.3.7.tar.gz) = 45b36906f108c730577dc81ba5fd16cce37a74be
-RMD160 (SQLAlchemy-1.3.7.tar.gz) = 47044edf1e55ba334c4e8ee45f9b69ea90e95c2d
-SHA512 (SQLAlchemy-1.3.7.tar.gz) = 87d6929c28c081ec79e20c2285ccbbc2c39f798c6d1660a2fabab6ea53cb4a4c134b5e44d7355bf88f9754a826c1c68b67ff5ad03e7c23c5f6381797ced6a0df
-Size (SQLAlchemy-1.3.7.tar.gz) = 5914400 bytes
+SHA1 (SQLAlchemy-1.3.8.tar.gz) = 54d0f837e6855e1e76caa6ef521b76423c8f8a1a
+RMD160 (SQLAlchemy-1.3.8.tar.gz) = 8fd45d10108c75c539bcb3eb54c3d8de464fc27b
+SHA512 (SQLAlchemy-1.3.8.tar.gz) = 150f8b5220a58a91814fcfd1dc87e2a2082628c8bbbf01878cad9a2642d4257dcc45c5d578573bef828b3d05e316c7fa1cb268053fe62dce4cc442b7b080b0d0
+Size (SQLAlchemy-1.3.8.tar.gz) = 5933959 bytes

Home | Main Index | Thread Index | Old Index