Użytkownik Paul McNett napisał:
> I added a test to dabo/biz/test/test_dBizobj.py for the case you describe, 
> but don't
> see any infinite loop. See r5604.
>    

Lets assume we have child with one or few records:
1) remote user delete _all_ child records from backend but not parent
2) we still have this data on our machine
3) we decide to delete parent record
4) parent bizobj calls child.deleteAll() method with loop in code
5) execute loop:
     while self.RowCount > 0:
                 self.first()
                 self.delete(startTransaction=False, inLoop=True)
6) in dCursorMixin.delete() method query is executed but code:
         sql = "select count(*) as cnt from %s where %s" % (self.Table, 
pkWhere)
     returns 0 because all records were deleted before and aren't existing
7) code:
         self._removeRow(delRowNum)
     isn't executed so RowCount doesn't change
8) go to point 5

-- 
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