]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- refactor ! MapperProperty now has create_row_processor() method, returns
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 26 May 2007 00:21:11 +0000 (00:21 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 26 May 2007 00:21:11 +0000 (00:21 +0000)
commitb4e0752ef7b482d7f7a9b276362567aadb6345f5
treeb6d9d58911e15855777013b135c347ae858ac40c
parent4c13759a953c62fb05367d6cdf2b9905a9d70092
- refactor !  MapperProperty now has create_row_processor() method, returns
a tuple of (rowprocessor, post_processor) functions.  this is called
once per mapper per result set, given just one row (usually the first row)
in the result set, so that all MapperProperty objects can make decisions based on that row
which get saved for all successive rows.
essentially it allows lots of decision making and pre-calculations to happen per-result
instead of per-row, and decreases how much state needs to be placed in SelectContext.attributes
since the functions are closures.
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/util.py