]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
perf tweaks
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 19 Jun 2020 04:32:00 +0000 (00:32 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 19 Jun 2020 04:34:20 +0000 (00:34 -0400)
commit699da7ecb96e9e1af8df8072d53199a560311260
treed59316fa85f5fce8b6fc25776602de05e6a75f5f
parent5624430eb1d07c68d0931bc89f7146bc003fde19
perf tweaks

- avoid abc checks in distill_20
- ColumnEntity subclasses are unique to their compile state and
have no querycontext specific state.  They can do a simple memoize of their
fetch_column without using attributes, and they can memoize their
_getter() too so that it goes into the cache, just like
instance_processor() does.
- unify ORMColumnEntity and RawColumnEntity for the row processor part,
add some test coverage for the case where it is used in a from_statement
- do a faster generate if there are no memoized entries
- query._params is always immutabledict
Change-Id: I1e2dfe607a1749b5b434fc11f9348ee631501dfa
lib/sqlalchemy/engine/util.py
lib/sqlalchemy/orm/context.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/sql/base.py
test/orm/test_froms.py
test/orm/test_lazy_relations.py
test/orm/test_query.py