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