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

Re: Issue #4358 - Svn WC 1.8 upgrade from 1.7 - wrong schema

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Mon, 22 Apr 2013 19:47:24 +0100 (BST)

Bert Huijben wrote:

> Julian Foad wrote:
>> --- schema-1.7.8-upgraded-to-1.8-dev
>> +++ schema-1.8-dev
>>
>> -   file_external  TEXT,
>> +   file_external  INTEGER,
>
> This doesn't matter for our use of Sqlite. We only use NULL vs set, but
> integer documents what we now store in file_external.
>
> Sqlite doesn't implement an ALTER table statement that can update this, so I
> don't think we should try to change this for 1.8.

>> -CREATE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (
>> -    wc_id, parent_relpath);
>> +CREATE UNIQUE INDEX I_ACTUAL_PARENT ON ACTUAL_NODE (
>> +    wc_id, parent_relpath, local_relpath);
>>
>> -CREATE INDEX I_NODES_PARENT ON NODES (
>> -    wc_id, parent_relpath, op_depth);
>> +CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (
>> +    wc_id, parent_relpath, local_relpath, op_depth);

For 1.8, what's the point of still including 'parent_relpath' in the index, when we know that every 'local_relpath' value starts with 'parent_relpath'?  Doesn't that just make the index a bit bigger and a bit slower than

CREATE UNIQUE INDEX I_NODES_PARENT ON NODES (
    wc_id, local_relpath, op_depth);

?

> I'll look into these tomorrow, but the performance difference is not that
> large. And as the names are 100% identical they can never cause problems
> upgrading to future versions. (And SQL guarantees that this can't affect our
> queries in any other way than performance)

BTW, Brane has started working on this issue.

- Julian
Received on 2013-04-22 20:48:18 CEST

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