Użytkownik Paul McNett napisał: > I don't understand this. If one grandchild cursor has changes, then > child.isAnyChanged() should return True, and that wouldn't be a false > positive.
Yes, it does and it should, but it doesn't tell us what row is changed. Lets imagine we have parent-child-grandchild chain where every node in the chain has 3 item long: parent([1]*3)-child([3]*3)-grandchild([3*3]*3). Numbers in square brackets represent number of cursors, outside are rows. If you change only last row of grandchild, coordinates of changed item are: [1](3)-[3](3)-[9](3). Now, if you will try to walk across changed rows, isAnyChanged() return true for every branch and leaf of the tree, e.g. for [1]-[1]-[1]. There is a difference between it and isChanged() method. It returns true only for exact changed branch [1]-[3]-[9]. Take it mind, that e.g. save() method doesn't save all rows at once. It walks sequentially and saves every row separately (calls hooks, etc.). You could use isAnyChanged() for this purpose, but there will be many attempts to save every, even unchanged rows. -- 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]
