> From: cmpilato@collab.net [mailto:cmpilato@collab.net]
>
> Greg Stein <gstein@lyra.org> writes:
>
> > On Fri, Jun 14, 2002 at 02:33:45PM -0500, cmpilato@collab.net wrote:
> > >...
> > > CHANGES (a new table, duplicately keyed on Transaction Ids)
> > > - a "changes" header
> > > - the changed node revision id
> > > - the filesystem path of the changed node revision id
> > > - the kind of change: added, deleted, replaced or modified
> >
> > Ah. This scales *way* better (hadn't thought about scaling in my
earlier
> > response). You can just add rows rather than keeping a big glom in
> memory.
> >
> > How do you define replaced vs. modified? AFAIK, we never "modify".
>
> Oh, "replace = delete + add", where modify means "text or prop
> changes". Sorry for the ambiguitiy.
Replace is unnecessary if the primary key of the table is:
(TxnID, NodeRevisionID)
That's why I kept using NodeRevisionID while explaining all of this
stuff.
Let client applications detect replaces and renames. :)
Otherwise, if the key was (TxnID, Path) we'd need two NodeRevisionIDs in
the skel. One for the deleted one, and one for the added one. (since
they have differing NodeIDs)
Bill
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jun 14 22:50:04 2002