Thanks, Stefan, this looks very promising.
I won't make any promises about grabbing some of that code, given how
much time I have on my hands ... but I'm glad that at least the proplist
bits can be reused.
On 12.03.2011 13:47, Stefan Sperling wrote:
> On Fri, Mar 11, 2011 at 10:43:46PM -0500, Greg Stein wrote:
>> 2011/3/11 Branko Čibej <brane_at_e-reka.si>:
>>> For the second task, I think the first order of business is to change
>>> the wc-db tree crawler to do one query instead of zillions, or at least,
>>> where several queries are required, to do them all in one transaction.
>> stsp has been working this recently. Killing the node walker, and
>> moving to table scans.
> Yes. So far, I've been working in the revision status code.
> There are two problems left to fix before I'll move on to the next task:
> - There are API layering issues (wc_db.c calls into node.c).
> This is related to the API discussions in the other thread
> so I'll follow up there.
> - The revision status code issues about 5 separate queries,
> which aren't combined via a transaction and don't use temporary tables.
> This is no worse than the previous code using the node walker,
> obviously :) But I'll look at fixing this so that the results
> returned correspond to the state of the DB as of the time the
> svn_wc__db_revision_status() call was made.
> For others who want to jump in and help, here is a list of places
> where the node walker is still being used. I'm not sure if we can
> eliminate it everywhere before release, but each of these should
> be looked at to see whether we can use an alternative approach to
> increase performance:
> (This should be propget and propset. Proplist is already using
> queries involving temporary tables. Rewriting propget on top
> of the proplist code would be easy. Propset needs more work.)
Received on 2011-03-12 14:00:47 CET