]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Use baked lazyloading by default
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 7 Apr 2017 18:18:22 +0000 (14:18 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 13 Apr 2017 18:22:59 +0000 (14:22 -0400)
commitb7644319e85ce38c1a576802317a9058a6aed82d
tree12db3074d79d0c54deb247a7e79424312e183cf3
parent755da1797432ee98dd3d1d309026a21529b45f75
Use baked lazyloading by default

The ``lazy="select"`` loader strategy now makes used of the
:class:`.BakedQuery` query caching system in all cases.  This
removes most overhead of generating a :class:`.Query` object and
running it into a :func:`.select` and then string SQL statement from
the process of lazy-loading related collections and objects.  The
"baked" lazy loader has also been improved such that it can now
cache in most cases where query load options are used.

Change-Id: Ic96792fffaa045ae9aa0a4657d6d29235d3efb85
Fixes: #3954
16 files changed:
doc/build/changelog/changelog_12.rst
doc/build/changelog/migration_12.rst
doc/build/orm/extensions/baked.rst
lib/sqlalchemy/ext/baked.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/strategy_options.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/util/_collections.py
test/aaa_profiling/test_memusage.py
test/ext/test_baked.py
test/orm/test_options.py
test/profiles.txt