WORKING_NODE rows exist for *all* affected nodes. ACTUAL_NODE rows may exist w/o a corresponding WORKING_NODE row (in which case, there better be a BASE_NODE row).
In the comments, we should be better about stating null rather than NULL (as the latter indicates a NULL pointer, not the SQL null value). moved_here is 1 or something else. There is no need to have a tri-state. Your comment with respect to moved_to is incomplete. There are more possible states than just 'base-deleted' and 'normal'. You could also have (at least) 'not-present' on a child. Consider the sequence: MOVE A to B. COPY C to A. DELETE A/D. The A/D child will be not-present. Cheers, -g On Wed, Feb 17, 2010 at 13:38, Julian Foad <julian.f...@wandisco.com> wrote: > Hey WC-NG folks, please tell me what's right/wrong/unsure in the > additions and changes below. Feel free to commit any parts that are > right: I'm not yet familiar enough to really be comfortable committing > it myself but I will if you want. > > - Julian > >