Branko Čibej <br...@xbc.nu> writes:

>  On 06.09.2010 12:16, Philip Martin wrote:
>> To use a per-directory query strategy we would probably have to cache
>> data in memory, although not to the same extent as in 1.6.  We should
>> probably avoid having Subversion make status callbacks into the
>> application while a query is in progress, so we would accumulate all
>> the row data and complete the query before making any callbacks.  Some
>> sort of private svn_wc__db_node_t to hold the results of the select
>> would probably be sufficient.
>
> I wonder if per-directory is really necessary; I guess I'm worrying
> about the case were the WC tree has lots of directories with few files.
> Do we not have the whole tree in a single Sqlide DB now? Depending on
> the schema, it might be possible to load the status information from the
> database in one single query.

Yes, per-tree would probably work but I expect most WCs have more
files than directories so the gains over per-dir would be small.  One
big advantage of doing status per-tree is that it gives a proper
snapshot, the tree cannot be modified during the status walk.  I'm not
pushing per-dir as the final solution, my point is that per-node
SQLite queries are not going to be fast enough.

-- 
Philip

Reply via email to