* Fixed issue where use of the :func:`_sql.table` construct, passing a string
for the :paramref:`_sql.table.schema` parameter, would fail to take the
"schema" string into account when producing a cache key, thus leading to
caching collisions if multiple, same-named :func:`_sql.table` constructs
with different schemas were used.
* Fixed event listening issue where event listeners added to a superclass
would be lost if a subclass were created which then had its own listeners
associated. The practical example is that of the :class:`.sessionmaker`
class created after events have been associated with the
:class:`_orm.Session` class.
* Hardened the cache key strategy for the :func:`_orm.aliased` and
:func:`_orm.with_polymorphic` constructs. While no issue involving actual
statements being cached can easily be demonstrated (if at all), these two
constructs were not including enough of what makes them unique in their
cache keys for caching on the aliased construct alone to be accurate.
* Fixed regression appearing in the 1.4 series where a joined-inheritance
query placed as a subquery within an enclosing query for that same entity
would fail to render the JOIN correctly for the inner query. The issue
manifested in two different ways prior and subsequent to version 1.4.18
(related issue 🎫`6595`), in one case rendering JOIN twice, in the
other losing the JOIN entirely. To resolve, the conditions under which
"polymorphic loading" are applied have been scaled back to not be invoked
for simple joined inheritance queries.
* Fixed issue in :mod:`sqlalchemy.ext.mutable` extension where collection
links to the parent object would be lost if the object were merged with
:meth:`.Session.merge` while also passing :paramref:`.Session.merge.load`
as False.
* Fixed issue involving :func:`_orm.with_loader_criteria` where a closure
variable used as bound parameter value within the lambda would not carry
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=217
98 lines
3.3 KiB
RPMSpec
98 lines
3.3 KiB
RPMSpec
#
|
|
# spec file for package python-SQLAlchemy
|
|
#
|
|
# Copyright (c) 2022 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%define skip_python2 1
|
|
%define oldpython python
|
|
Name: python-SQLAlchemy
|
|
Version: 1.4.41
|
|
Release: 0
|
|
Summary: Database Abstraction Library
|
|
License: MIT
|
|
URL: https://www.sqlalchemy.org
|
|
Source: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz
|
|
Source1: SQLAlchemy.keyring
|
|
# devel is needed for optional C extensions cprocessors.so, cresultproxy.so and cutils.so
|
|
BuildRequires: %{python_module devel}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{pythons}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python
|
|
Requires: python-greenlet
|
|
Provides: python-sqlalchemy = %{version}
|
|
Obsoletes: python-sqlalchemy < %{version}
|
|
%if %{python_version_nodots} < 38
|
|
Requires: python-importlib-metadata
|
|
%endif
|
|
# SECTION test requirements
|
|
BuildRequires: %{python_module greenlet}
|
|
BuildRequires: %{python_module importlib-metadata}
|
|
BuildRequires: %{python_module pytest >= 4.4.0}
|
|
# /SECTION
|
|
%python_subpackages
|
|
|
|
%description
|
|
SQLAlchemy is an Object Relational Mappper (ORM) that provides a flexible,
|
|
high-level interface to SQL databases. Database and domain concepts are
|
|
decoupled, allowing both sides maximum flexibility and power. SQLAlchemy
|
|
provides a powerful mapping layer that can work as automatically or as manually
|
|
as you choose, determining relationships based on foreign keys or letting you
|
|
define the join conditions explicitly, to bridge the gap between database and
|
|
domain.
|
|
|
|
%package -n %{name}-doc
|
|
Summary: Documentation for python-SQLAlchemy
|
|
Provides: %{python_module SQLAlchemy-doc = %{version}}
|
|
BuildArch: noarch
|
|
|
|
%description -n %{name}-doc
|
|
This package contains HTML documentation, including tutorials and API
|
|
reference for python-SQLAlchemy.
|
|
|
|
%prep
|
|
%autosetup -p1 -n SQLAlchemy-%{version}
|
|
|
|
rm -rf doc/build # Remove unnecessary scripts for building documentation
|
|
sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py
|
|
|
|
%build
|
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
|
|
|
%check
|
|
# One test fails on Python 3.6
|
|
# packaging.version.InvalidVersion: Invalid version: 'SQLAlchemy'
|
|
%pytest_arch -k 'not (test_parseconnect and CreateEngineTest and test_bad_args)'
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc CHANGES README.rst README.dialects.rst README.unittests.rst
|
|
%{python_sitearch}/sqlalchemy/
|
|
%{python_sitearch}/SQLAlchemy-%{version}-py*.egg-info
|
|
|
|
%files -n %{name}-doc
|
|
%doc doc/
|
|
%doc examples/
|
|
|
|
%changelog
|