]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
factor out UnboundLoad and rearchitect strategy_options.py
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 9 Dec 2021 01:27:16 +0000 (20:27 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 27 Dec 2021 17:30:38 +0000 (12:30 -0500)
commit91501e06a17d873902114275d7149ba24973db6a
tree464d2c7167c30d92be13c851b52c0f4471645456
parent2bb6cfc7c9b8f09eaa4efeffc337a1162993979c
factor out UnboundLoad and rearchitect strategy_options.py

The architecture of Load is mostly rewritten here.

The change includes removal of the "pluggable" aspect
of the loader options, which would patch new methods onto
Load.  This has been replaced by normal methods that
respond normally to typing annotations.  As part of this
change, the bake_loaders() and unbake_loaders() options,
which have no effect since 1.4 and were unlikely to be
in any common use, have been removed.

Additionally, to support annotations for methods that
make use of @decorator, @generative etc., modified
format_argspec_plus to no longer return "args", instead
returns "grouped_args" which is always grouped and
allows return annotations to format correctly.

Fixes: #6986
Change-Id: I6117c642345cdde65a64389bba6057ddd5374427
42 files changed:
doc/build/changelog/unreleased_20/6986.rst [new file with mode: 0644]
doc/build/orm/loading_relationships.rst
lib/sqlalchemy/ext/baked.py
lib/sqlalchemy/orm/__init__.py
lib/sqlalchemy/orm/context.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/path_registry.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/relationships.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/strategy_options.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/sql/base.py
lib/sqlalchemy/testing/plugin/pytestplugin.py
lib/sqlalchemy/util/compat.py
lib/sqlalchemy/util/langhelpers.py
test/base/test_utils.py
test/orm/declarative/test_basic.py
test/orm/inheritance/test_assorted_poly.py
test/orm/inheritance/test_basic.py
test/orm/inheritance/test_poly_loading.py
test/orm/inheritance/test_relationship.py
test/orm/inheritance/test_single.py
test/orm/test_ac_relationships.py
test/orm/test_bind.py
test/orm/test_cache_key.py
test/orm/test_core_compilation.py
test/orm/test_default_strategies.py
test/orm/test_deferred.py
test/orm/test_deprecations.py
test/orm/test_eager_relations.py
test/orm/test_expire.py
test/orm/test_joins.py
test/orm/test_mapper.py
test/orm/test_options.py
test/orm/test_pickled.py
test/orm/test_relationships.py
test/orm/test_selectin_relations.py
test/orm/test_sync.py
test/orm/test_utils.py
test/profiles.txt