[Sqlalchemy-tickets] [sqlalchemy] #2778: per-attribute callables due to options, possible reorg to
Brought to you by:
zzzeek
|
From: sqlalchemy <mi...@zz...> - 2013-07-11 13:45:42
|
#2778: per-attribute callables due to options, possible reorg to remove
performance overhead
--------------------+--------------------------------------------
Reporter: zzzeek | Owner: zzzeek
Type: defect | Status: new
Priority: medium | Milestone: 0.9.0
Component: orm | Severity: very major - up to 2 days
Keywords: | Progress State: in queue
--------------------+--------------------------------------------
e.g.
{{{
827855 15.668 0.000 27.068 0.000 …/SQLAlchemy-0.8.1-py2.6
-linux-
x86_64.egg/sqlalchemy/orm/strategies.py:184(set_deferred_for_local_state)
827855 10.524 0.000 10.524 0.000 …/SQLAlchemy-0.8.1-py2.6
-linux-x86_64.egg/sqlalchemy/orm/strategies.py:259(__init__)
}}}
so here we'd want to see how to have an unloaded attribute's default lazy
callable routine access what was set up for the query that loaded this. I
think the mapper's loading of the state would have to assemble some aspect
of the QueryContext into each state, which is then consulted by the
instancestate before we do deferred_scalar_loader. for LazyLoader the
issue might be a little different.
something to look into for 0.9 though not critical
--
Ticket URL: <http://www.sqlalchemy.org/trac/ticket/2778>
sqlalchemy <http://www.sqlalchemy.org/>
The Database Toolkit for Python
|