diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-01-16 13:34:55 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-03-16 12:34:40 -0400 |
commit | 63a7b2d2d9402b06f9bc7745eed2d98ae9f8b11c (patch) | |
tree | ddc4a454eb22548a009eb33f90a08331cc0523d3 /lib/sqlalchemy/sql/compiler.py | |
parent | 2bfe19152d49b969acdc4607bf7c33727f796f5a (diff) | |
download | sqlalchemy-63a7b2d2d9402b06f9bc7745eed2d98ae9f8b11c.tar.gz |
Annotate parentmapper in primaryjoin / secondaryjoin
This patch applies the "parentmapper" annotation to the columns
in the primaryjoin/secondaryjoin, but more dramatically,
also removes all the "deannotate" steps that were historically
applied to the relationship primaryjoin/secondaryjoin.
These deannotation steps were left over from the initial
implementations of annotations where the behaviors were not
as reliable.
By ensuring these annotations are present,
the evaluator no longer needs to do a name-based lookup
when it sees a column that has no "parentmapper",
because it can be assured this is not a mapped column.
This fixes the issue where the expression were based on
a relationship primaryjoin but the name of a column
in the join condition didn't match the attribute name.
Change-Id: I8c1d4594116d4109fef314a87c96a24d2efa0058
Fixes: #3366
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
0 files changed, 0 insertions, 0 deletions