[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: Re: Minimizing the `revisions' table.

From: Bill Tutt <rassilon_at_lyra.org>
Date: 2002-06-14 22:10:11 CEST

> 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

This is an archived mail posted to the Subversion Dev mailing list.