]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
trust user PK argument as given; don't reduce
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 23 Mar 2022 00:14:04 +0000 (20:14 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 23 Mar 2022 16:12:34 +0000 (12:12 -0400)
commitd051645463b169bf1535459653eff247cb772e62
tree67fff8dc12314e1d96257a265daf5e7dce6f7e67
parent6652c62bd90a455843c77f41acd50af920126351
trust user PK argument as given; don't reduce

Fixed issue where the :class:`_orm.Mapper` would reduce a user-defined
:paramref:`_orm.Mapper.primary_key` argument too aggressively, in the case
of mapping to a ``UNION`` where for some of the SELECT entries, two columns
are essentially equivalent, but in another, they are not, such as in a
recursive CTE. The logic here has been changed to accept a given
user-defined PK as given, where columns will be related to the mapped
selectable but no longer "reduced" as this heuristic can't accommodate for
all situations.

Fixes: #7842
Change-Id: Ie46f0a3d42cae0501641fa213da0a9d5ca26c3ad
doc/build/changelog/unreleased_14/7842.rst [new file with mode: 0644]
lib/sqlalchemy/orm/mapper.py
test/orm/test_mapper.py