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]

Reply via email to