[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: should one single search be able to encompass several databases?



At 11:25 AM 7/19/2001, Howard Chu wrote:
>That's exactly the idea I proposed before.

You were just a little ahead of your time... :-)

>I've gone quite a ways into
>implementing this approach in an older snapshot. I also modified the calling
>sequence a little, throwing the common parameters into a structure so they
>could be passed around more easily. Functions with 5+ arguments really
>bother me...
>
>There's an issue that I haven't quite resolved in my mind: when you chain
>multiple backends, and one of them has an error and is unable to fulfill a
>search request, but the others are able to provide results, what kind of
>error indication do you send back to the client? I found that just sending
>the error code of the single failure along with the results wouldn't work
>very well, the client tended to ignore all the valid results depending on
>the error code.

Depends on whether the error occurred during finding or during searching.
If the error occurred during the finding of the base, then that error
needs to be reported.  If the error occurred during searching, it's generally
not reported UNLESS the searching cannot be continued (timeLimit, sizeLimit,
busy, other, ...).


>  -- Howard Chu
>  Chief Architect, Symas Corp.       Director, Highland Sun
>  http://www.symas.com               http://highlandsun.com/hyc
>
>> -----Original Message-----
>> From: owner-openldap-devel@OpenLDAP.org
>> [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of Kurt D. Zeilenga
>> Sent: Thursday, July 19, 2001 10:11 AM
>> To: Stig Venaas
>> Cc: openldap-devel@OpenLDAP.org
>> Subject: Re: should one single search be able to encompass several
>> databases?
>>
>>
>> I'd like to see the backend API changed to support "virtual" directory
>> and "chaining".   Basically, the API needs to be changed so that
>> instead of the backend calling various send response calls as needed,
>> the backend uses callbacks to provide the response information to the
>> caller.  Then we can write a backend which "chains" between backends...
>> and a backend which does "virtual" directory stuff... and all kinds
>> of fun stuff.
>>
>> It shouldn't be too hard to implement...
>>
>> Kurt
>>