[Fedora-directory-devel] query processing

David Boreham david_list at boreham.org
Wed Oct 19 14:42:35 UTC 2005


discover wrote:

> If you have query like (|(objectclass=*)(objectclass=ldapsubentry)), 
> may  a scope=0, as for I know the filters get evaluated independently 
> first i.e
> objectclass=* then objectclass=ldapsubentry , then an intersection of 
> two sets is  computed . The resulting entry ids would be checked 
> against the ancestorid index for the subtree , scope to arrive at the 
> final results . Is this a correct understanding ?

Nope. For a base scope search the base entry is found alone (using the cache
and if it isn't in there the entrydn index). Then the filter is applied 
to the entry.

>
> Is there any other way the scope is handled ?

You really need to read the code to understand how queries are processed.
Look at ldbm_search.c and filterindex.c.






More information about the Fedora-directory-devel mailing list