Użytkownik Paul McNett napisał: > Additions to my test function. One problem with this approach is that old > cursors > can keep piling up, cursors we have no interest in dealing with because they > were > from older parent requeries. If we filter them out, we add overhead, and if we > pop them out of the __cursors dict upon requery(), we add overhead. We could > add > an 'unused' flag to all __cursors upon parent requery(), and take away the > flag > when the cursor becomes the _CurrentCursor, and then use the flag to speed up > traversal in isAnyChanged()...
This is good change, you can implement it in the code. But I would be careful with removing 'unused' cursors from set. What does mean 'unused'? When record pointer in parent changes and we discard child cursors unconditionally, while user moves it forth and back one by one, it will generate additional overhead on backend and network infrastructure. I think we can add support for ChildCacheInterval=-1 (it's mean cache forever, for rarely updated lookup data) and then upon requery, remove all unchanged and expired cursors from the set. -- Regards Jacek Kałucki _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev Searchable Archives: http://leafe.com/archives/search/dabo-dev This message: http://leafe.com/archives/byMID/[email protected]
