]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
Unify Query and select() , move all processing to compile phase
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 1 Dec 2019 22:24:27 +0000 (17:24 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 24 May 2020 15:54:08 +0000 (11:54 -0400)
commitdce8c7a125cb99fad62c76cd145752d5afefae36
tree352dfa2c38005207ca64f45170bbba2c0f8c927e
parent1502b5b3e4e4b93021eb927a6623f288ef006ba6
Unify Query and select() , move all processing to compile phase

Convert Query to do virtually all compile state computation
in the _compile_context() phase, and organize it all
such that a plain select() construct may also be used as the
source of information in order to generate ORM query state.
This makes it such that Query is not needed except for
its additional methods like from_self() which are all to
be deprecated.

The construction of ORM state will occur beyond the
caching boundary when the new execution model is integrated.

future select() gains a working join() and filter_by() method.
as we continue to rebase and merge each commit in the steps,
callcounts continue to bump around.  will have to look at
the final result when it's all in.

References: #5159
References: #4705
References: #4639
References: #4871
References: #5010

Change-Id: I19e05b3424b07114cce6c439b05198ac47f7ac10
78 files changed:
doc/build/conf.py
doc/build/orm/loading_relationships.rst
doc/build/orm/query.rst
examples/dogpile_caching/caching_query.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/ext/baked.py
lib/sqlalchemy/ext/horizontal_shard.py
lib/sqlalchemy/ext/serializer.py
lib/sqlalchemy/future/__init__.py
lib/sqlalchemy/future/selectable.py [new file with mode: 0644]
lib/sqlalchemy/orm/__init__.py
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/base.py
lib/sqlalchemy/orm/context.py [new file with mode: 0644]
lib/sqlalchemy/orm/descriptor_props.py
lib/sqlalchemy/orm/dynamic.py
lib/sqlalchemy/orm/evaluator.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/loading.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/persistence.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/orm/strategy_options.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/sql/annotation.py
lib/sqlalchemy/sql/base.py
lib/sqlalchemy/sql/coercions.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/roles.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
lib/sqlalchemy/sql/traversals.py
lib/sqlalchemy/sql/util.py
lib/sqlalchemy/sql/visitors.py
lib/sqlalchemy/testing/assertions.py
lib/sqlalchemy/util/_collections.py
lib/sqlalchemy/util/langhelpers.py
test/aaa_profiling/test_memusage.py
test/aaa_profiling/test_misc.py
test/aaa_profiling/test_orm.py
test/ext/test_baked.py
test/ext/test_horizontal_shard.py
test/ext/test_serializer.py
test/orm/_fixtures.py
test/orm/inheritance/test_assorted_poly.py
test/orm/inheritance/test_polymorphic_rel.py
test/orm/inheritance/test_relationship.py
test/orm/inheritance/test_selects.py
test/orm/inheritance/test_single.py
test/orm/test_cache_key.py
test/orm/test_core_compilation.py [new file with mode: 0644]
test/orm/test_default_strategies.py
test/orm/test_deferred.py
test/orm/test_deprecations.py
test/orm/test_dynamic.py
test/orm/test_eager_relations.py
test/orm/test_froms.py
test/orm/test_generative.py
test/orm/test_joins.py
test/orm/test_lazy_relations.py
test/orm/test_loading.py
test/orm/test_lockmode.py
test/orm/test_mapper.py
test/orm/test_options.py
test/orm/test_pickled.py
test/orm/test_query.py
test/orm/test_selectin_relations.py
test/orm/test_subquery_relations.py
test/orm/test_utils.py
test/profiles.txt
test/sql/test_compare.py
test/sql/test_compiler.py
test/sql/test_external_traversal.py
test/sql/test_select.py [new file with mode: 0644]