This was apparently a long-standing issue due to a strange handling of the _prefetch attribute on columns: accessing a column would only trigger the prefetching if its _prefetch attribute was True, but the prefetching itself would also prefetch columns that had _prefetch False. We clearly want it the other way around, or at least we want _prefetch to decide whether a column is included in any given prefetching pass. We can skip the prefetching pass when the only field being accessed has _prefetch False because it is likely the other fields have already been prefetched separately. This last subtlety should not make any noticeable performance difference. lp bug: https://launchpad.net/bugs/1177965 fixed bzr revid: odo@openerp.com-20130620131057-v7s4qfqj976j3ufo |
||
---|---|---|
.. | ||
__init__.py | ||
expression.py | ||
fields.py | ||
orm.py | ||
osv.py | ||
query.py |