[Disclaimer: all I say here is from reading the source code, not from observed behavior. If my analysis is flawed because of something I missed, send me a pie.]
I think some inconsistencies between doc and behavior has crept in: + In biz.scan() docstring: """ If self.ScanRequeryChildren is True, any child bizobjs will be requeried for each row in the bizobj. Only use this if you know the size of the data involved will be small. """ + ScanRequeryChildren docstring: """ When calling the scan() function, this property determines if we requery any child bizobjs for each row in this bizobj. The default is False, as this has the potential to cause performance issues. """ However: 1) The default of ScanRequeryChildren isn't False as claimed, it is True (dBizobj.py:81, "self._scanRequeryChildren = True"). 2) Setting ScanRequeryChildren doesn't actually requery any children that I can see[1], all it does is set the current parent, which should be a pretty fast operation, and definitely desirable (can't think of why you would want to purposefully not set the current parent). I think that at one time, children were being requeried needlessly resulting in bad performance, and that the operation of setting the current parent would result in an implicit requery(), but I don't think that's happening anymore. Should we: 1) remove ScanRequeryChildren completely -or- 2) Keep it, default to False like we claim, and add it as a separate concept from setCurrentParent()? [1] The only case where a child would be requeried is if there wasn't already a cursor for that child, and child.RequeryOnLoad is True. Paul _______________________________________________ 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]
