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

Re: [RFC] Eliminate scan_base_repos() - require repos-id and repos-relpath in all BASE nodes

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Thu, 28 Oct 2010 11:23:39 -0500

On Thu, Oct 28, 2010 at 10:09 AM, Julian Foad <julian.foad_at_wandisco.com> wrote:
> Bert and Erik and Philip and I discussed on IRC today the merits, or
> lack of merits, of allowing repos-id/repos-relpath to be elided in the
> NODES table BASE layer (op_depth = 0).
>
> * The data is not currently elided.
>
> * Some queries for locks currently assume the data is not elided.
>
> * Elision could save a bit of DB size, which *might* contribute to a
> little bit of general DB performance.
>
> * The option of elision results in the need for all users of this data
> to call svn_wc__db_scan_base_repos() or the internal version
> scan_upwards_for_repos(), which is an extra maintenance burden and extra
> run-time cost.
>
> We concluded it would be better to require the columns to be always
> filled in.  I'll do this soon if no objections.

As I understand it, our original intention for elision was to make
switch and relocate go much faster, since only one row would be
updated instead of the entire tree. If that creates too much of a
burden elsewhere, then yes, we can probably nuke it (and we can
probably write a good enough query to make the relatively uncommon
operations of switch and relocate only negligibly slower).

This is one use case, however, and isn't necessarily the only one.

-Hyrum
Received on 2010-10-28 18:24:18 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.