httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Erenkrantz" <jus...@erenkrantz.com>
Subject Re: DAV and lazy evaluation
Date Sat, 24 Mar 2007 16:11:46 GMT
On 3/23/07, Nick Kew <nick@webthing.com> wrote:
>
> I'm developing a DBD-based DAV backend.
>
> I've been trying to use lazy evaluation for efficiency.
> But there are obstacles in the way.
>
> I've just added an SQL query to my get_resource method
> just to determine whether the resource is a collection.
> I don't think that should be necessary: not every request
> needs that information about every resource.  And it's
> very expensive in an operation such as directory listing.
> This could be fixed if the collection field of dav_resource
> was a method rather than just a field.

Eww - that would be a *major* change to all downstream WebDAV
providers with no possibilities of caching it (unless you add a
'hidden' field - which defeats your purpose entirely! - but still
there's an inappropriate function-call overhead).  Why can't your SQL
query return that as part of the initial existence test?  There really
shouldn't be much overhead here.  My hunch without having *any*
details provided by you whatsoever is that your SQL schema is
inappropriate - there are too many instances where the caller needs to
know whether it's a collection or a specific file.  (For a directory
listing, it'd almost certainly *need* to know whether the entry is
itself a directory or not.)

> I don't want to propose a bunch of tiny changes like this,
> but I'm looking towards a possible review of mod_dav.
> Meanwhile, anyone BTDT and have insights to share?

What is BTDT?  -- justin

Mime
View raw message