diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-01-28 16:44:53 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-01-29 22:02:34 -0500 |
commit | c741b89bd57eb31b7a1bbd187a4d159bdfea5111 (patch) | |
tree | 011bce072c9093cc4b648c669212a58bbd9a3d57 /lib/sqlalchemy/sql/functions.py | |
parent | 0cc2695510c0f0b09328e4cdf8d3ae29ac7f7abd (diff) | |
download | sqlalchemy-c741b89bd57eb31b7a1bbd187a4d159bdfea5111.tar.gz |
Raise for unexpected polymorphic identity
A query that is against an mapped inheritance subclass which also uses
:meth:`.Query.select_entity_from` or a similar technique in order to
provide an existing subquery to SELECT from, will now raise an error if the
given subquery returns entities that do not correspond to the given
subclass, that is, they are sibling or superclasses in the same hierarchy.
Previously, these would be returned without error. Additionally, if the
inheritance mapping is a single-inheritance mapping, the given subquery
must apply the appropriate filtering against the polymorphic discriminator
column in order to avoid this error; previously, the :class:`.Query` would
add this criteria to the outside query however this interferes with some
kinds of query that return other kinds of entities as well.
Fixes: #5122
Change-Id: I60cf8c1300d5bb279ad99f0f01fefe7e008a159b
Diffstat (limited to 'lib/sqlalchemy/sql/functions.py')
0 files changed, 0 insertions, 0 deletions