15
0

Accepting request 619112 from devel:languages:python

- add upstream fix_test_reflection.patch to fix tests with new sqlite (forwarded request 619105 from mimi_vx)

OBS-URL: https://build.opensuse.org/request/show/619112
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-SQLAlchemy?expand=0&rev=51
This commit is contained in:
2018-06-27 08:22:07 +00:00
committed by Git OBS Bridge
5 changed files with 178 additions and 4 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d6cda03b0187d6ed796ff70e87c9a7dce2c2c9650a7bc3c022cd331416853c31
size 5571719

3
SQLAlchemy-1.2.8.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2d5f08f714a886a1382c18be501e614bce50d362384dc089474019ce0768151c
size 5586724

47
fix_test_reflection.patch Normal file
View File

@@ -0,0 +1,47 @@
From 871c64221a56e546237e7cf1b2910842027c3531 Mon Sep 17 00:00:00 2001
From: Nils Philippsen <nils@tiptoe.de>
Date: Sun, 24 Jun 2018 11:47:05 -0400
Subject: [PATCH] fix TypeReflectionTest for sqlite 3.24
Fixed issue in test suite where SQLite 3.24 added a new reserved word that
conflicted with a usage in TypeReflectionTest. Pull request courtesy Nils
Philippsen.
Change-Id: I396562cecb5ca774f29e9234845bcc6a399fc5cb
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/452
(cherry picked from commit 40a5d0a4b006780167976b296984eb9790f3df7f)
---
doc/build/changelog/unreleased_12/pr452.rst | 7 +++++++
test/dialect/test_sqlite.py | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
create mode 100644 doc/build/changelog/unreleased_12/pr452.rst
diff --git a/doc/build/changelog/unreleased_12/pr452.rst b/doc/build/changelog/unreleased_12/pr452.rst
new file mode 100644
index 0000000..471b203
--- /dev/null
+++ b/doc/build/changelog/unreleased_12/pr452.rst
@@ -0,0 +1,7 @@
+.. change::
+ :tags: bug, sqlite
+ :versions: 1.3.0b1
+
+ Fixed issue in test suite where SQLite 3.24 added a new reserved word that
+ conflicted with a usage in TypeReflectionTest. Pull request courtesy Nils
+ Philippsen.
diff --git a/test/dialect/test_sqlite.py b/test/dialect/test_sqlite.py
index 4c462ae..d2d5632 100644
--- a/test/dialect/test_sqlite.py
+++ b/test/dialect/test_sqlite.py
@@ -1637,7 +1637,7 @@ class TypeReflectionTest(fixtures.TestBase):
("BLOBBER", sqltypes.NullType()),
("DOUBLE PRECISION", sqltypes.REAL()),
("FLOATY", sqltypes.REAL()),
- ("NOTHING WE KNOW", sqltypes.NUMERIC()),
+ ("SOMETHING UNKNOWN", sqltypes.NUMERIC()),
]
def _fixture_as_string(self, fixture):
--
2.10.5

View File

@@ -1,3 +1,128 @@
-------------------------------------------------------------------
Tue Jun 26 06:55:57 UTC 2018 - mimi.vx@gmail.com
- add upstream fix_test_reflection.patch to fix tests with new sqlite
-------------------------------------------------------------------
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 pools
“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
<column>”. 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
dont match this objects 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

View File

@@ -20,13 +20,14 @@
%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
Group: Development/Languages/Python
URL: http://www.sqlalchemy.org
Source: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz
Patch0: fix_test_reflection.patch
BuildRequires: %{python_module devel}
# Test requirements:
BuildRequires: %{python_module mock}
@@ -69,6 +70,7 @@ reference for python-SQLAlchemy.
%prep
%setup -q -n SQLAlchemy-%{version}
%patch0 -p1
rm -rf doc/build # Remove unnecessary scripts for building documentation
sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py