diff --git a/SQLAlchemy-1.2.7.tar.gz b/SQLAlchemy-1.2.7.tar.gz deleted file mode 100644 index 86aebe0..0000000 --- a/SQLAlchemy-1.2.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6cda03b0187d6ed796ff70e87c9a7dce2c2c9650a7bc3c022cd331416853c31 -size 5571719 diff --git a/SQLAlchemy-1.2.8.tar.gz b/SQLAlchemy-1.2.8.tar.gz new file mode 100644 index 0000000..58a9749 --- /dev/null +++ b/SQLAlchemy-1.2.8.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d5f08f714a886a1382c18be501e614bce50d362384dc089474019ce0768151c +size 5586724 diff --git a/python-SQLAlchemy.changes b/python-SQLAlchemy.changes index b29b7ce..90dbfd6 100644 --- a/python-SQLAlchemy.changes +++ b/python-SQLAlchemy.changes @@ -1,3 +1,123 @@ +------------------------------------------------------------------- +Thu Jun 21 23:01:18 UTC 2018 - hpj@urpla.net + +- update to version 1.2.8: + * orm + + [orm] [bug] Fixed regression in 1.2.7 caused by #4228, which + itself was fixing a 1.2-level regression, where the query_cls + callable passed to a Session was assumed to be a subclass of + Query with class method availability, as opposed to an + arbitrary callable. In particular, the dogpile caching example + illustrates query_cls as a function and not a Query subclass. + References: #4256 + + [orm] [bug] Fixed a long-standing regression that occurred in + version 1.0, which prevented the use of a custom MapperOption + that alters the _params of a Query object for a lazy load, + since the lazy loader itself would overwrite those parameters. + This applies to the “temporal range” example on the wiki. Note + however that the Query.populate_existing() method is now + required in order to rewrite the mapper options associated with + an object already loaded in the identity map. + As part of this change, a custom defined MapperOption will now + cause lazy loaders related to the target object to use a non- + baked query by default unless the + MapperOption._generate_cache_key() method is implemented. In + particular, this repairs one regression which occured when + using the dogpile.cache “advanced” example, which was not + returning cached results and instead emitting SQL due to an + incompatibility with the baked query loader; with the change, + the RelationshipCache option included for many releases in the + dogpile example will disable the “baked” query altogether. Note + that the dogpile example is also modernized to avoid both of + these issues as part of issue #4258. References: #4128 + + [orm] [bug] Fixed bug where the new + baked.Result.with_post_criteria() method would not interact + with a subquery-eager loader correctly, in that the “post + criteria” would not be applied to embedded subquery + eager loaders. This is related to #4128 in that the post + criteria feature is now used by the lazy loader. + + [orm] [bug] Updated the dogpile.caching example to include new + structures that accommodate for the “baked” query system, which + is used by default within lazy loaders and some eager + relationship loaders. The dogpile.caching “relationship_caching” + and “advanced” examples were also broken due to #4256. The + issue here is also worked-around by the fix in #4128. + References: #4258 + * engine + + [engine] [bug] Fixed connection pool issue whereby if a + disconnection error were raised during the connection pool’s + “reset on return” sequence in conjunction with an explicit + transaction opened against the enclosing Connection object + (such as from calling Session.close() without a rollback or + commit, or calling Connection.close() without first closing a + transaction declared with Connection.begin()), a double-checkin + would result, which could then lead towards concurrent + checkouts of the same connection. The double-checkin condition + is now prevented overall by an assertion, as well as the + specific double-checkin scenario has been fixed. + References: #4252 + + [engine] [bug] Fixed a reference leak issue where the values of + the parameter dictionary used in a statement execution would + remain referenced by the “compiled cache”, as a result of + storing the key view used by Python 3 dictionary keys(). Pull + request courtesy Olivier Grisel. + * sql + + [sql] [bug] Fixed issue where the “ambiguous literal” error + message used when interpreting literal values as SQL expression + values would encounter a tuple value, and fail to format the + message properly. Pull request courtesy Miguel Ventura. + * mssql + + [mssql] [bug] Fixed a 1.2 regression caused by #4061 where the + SQL Server “BIT” type would be considered to be “native + boolean”. The goal here was to avoid creating a CHECK + constraint on the column, however the bigger issue is that the + BIT value does not behave like a true/false constant and cannot + be interpreted as a standalone expression, e.g. “WHERE + ”. The SQL Server dialect now goes back to being non- + native boolean, but with an extra flag that still avoids + creating the CHECK constraint. References: #4250 + * oracle + + [oracle] [bug] The Oracle BINARY_FLOAT and BINARY_DOUBLE + datatypes now participate within cx_Oracle.setinputsizes(), + passing along NATIVE_FLOAT, so as to support the NaN value. + Additionally, oracle.BINARY_FLOAT, oracle.BINARY_DOUBLE and + oracle.DOUBLE_PRECISION now subclass Float, since these are + floating point datatypes, not decimal. These datatypes were + already defaulting the Float.asdecimal flag to False in line + with what Float already does. References: #4264 + + [oracle] [bug] Added reflection capabilities for the + oracle.BINARY_FLOAT, oracle.BINARY_DOUBLE datatypes. + + [oracle] [bug] Altered the Oracle dialect such that when an + Integer type is in use, the cx_Oracle.NUMERIC type is set up + for setinputsizes(). In SQLAlchemy 1.1 and earlier, + cx_Oracle.NUMERIC was passed for all numeric types + unconditionally, and in 1.2 this was removed to allow for + better numeric precision. However, for integers, some + database/client setups will fail to coerce boolean values + True/False into integers which introduces regressive behavior + when using SQLAlchemy 1.2. Overall, the setinputsizes logic + seems like it will need a lot more flexibility going forward so + this is a start for that. References: #4259 + * misc + + [bug] [ext] The horizontal sharding extension now makes use of + the identity token added to ORM identity keys as part of #4137, + when an object refresh or column-based deferred load or + unexpiration operation occurs. Since we know the “shard” that + the object originated from, we make use of this value when + refreshing, thereby avoiding queries against other shards that + don’t match this object’s identity in any case. + References: #4247 + + [bug] [ext] Fixed a race condition which could occur if automap + AutomapBase.prepare() were used within a multi-threaded context + against other threads which may call configure_mappers() as a + result of use of other mappers. The unfinished mapping work of + automap is particularly sensitive to being pulled in by a + configure_mappers() step leading to errors. References: #4266 + + [bug] [tests] Fixed a bug in the test suite where if an + external dialect returned None for server_version_info, the + exclusion logic would raise an AttributeError. + References: #4249 + ------------------------------------------------------------------- Sat Apr 21 16:35:48 UTC 2018 - arun@gmx.de diff --git a/python-SQLAlchemy.spec b/python-SQLAlchemy.spec index ca892d0..47c0c83 100644 --- a/python-SQLAlchemy.spec +++ b/python-SQLAlchemy.spec @@ -20,7 +20,7 @@ %define oldpython python %bcond_without tests Name: python-SQLAlchemy -Version: 1.2.7 +Version: 1.2.8 Release: 0 Summary: Database Abstraction Library License: MIT