]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Don't apply aliasing + adaption for simple relationship joins
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 19 Dec 2019 02:50:24 +0000 (21:50 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 19 Dec 2019 16:13:59 +0000 (11:13 -0500)
commitf6b52bef082f2b2d4e4d7360794b9b55fb01a044
tree2dfe6ecc3dd69e7dbbad2adecc84e213db2d852a
parent487f1f8dfda282dd1f04723468b4ede0896cf42a
Don't apply aliasing + adaption for simple relationship joins

Identified a performance issue in the system by which a join is constructed
based on a mapped relationship.   The clause adaption system would be used
for the majority of join expressions including in the common case where no
adaptation is needed.   The conditions under which this adaptation occur
have been refined so that average non-aliased joins along a simple
relationship without a "secondary" table use about 70% less function calls.

Change-Id: Ifbe04214576e5a9fac86ca80c1dc7145c27cd50a
(cherry picked from commit 7e9f273835ac68df894568ba4292bfbc74ce187b)
doc/build/changelog/unreleased_13/rel_join.rst [new file with mode: 0644]
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/testing/profiling.py
test/aaa_profiling/test_orm.py
test/ext/test_serializer.py
test/profiles.txt