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]

Reply via email to