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

Re: some thoughts on indexing (Was: Some openldap fixes... (fwd))



At 12:43 PM 9/22/00 -0700, Booker C. Bense wrote:
>- To add an additional wrinkle to the code it would be great if
>this limit were some how linked to the indexing of the attribute.
>(i.e. if the attribute is indexed for the kind of search you're
>doing up the limit , if not lower it. ) I'm not sure how feasible
>this is in practice or whether it even makes sense in the context
>of this discussion. 

Time permitting, of course, I plan on adding more than a few
wrinkles...

One of the purposes of ALLIDS is to key the size of IDLs on
disk to a manageable size.  They are also useful for short
cutting filter evaluation.  My plans are to allow in-memory
IDLs to grow larger than the on-disk IDLs during evaluation.
That is, if have (|(cn=foo)(cn=bar)) and both cn=foo and
cn=bar are not ALLIDS, the union will not be treated as
ALLIDS unless it exceed higher limit (such as 2*MAXIDS).
I am a little fearful of completely removing in-memory
max as (!(cn=foo)) could be quite large.

I'm also considering ensuring the ID within the DIT are
ordered such that the base entry's ID can be used to
trim candidates.  If IDLs are ordered, then intermediate
IDLs can be trimmed.

Right now, however, my plans are to keep things as simple
until the transaction processing is known to be stable...

Kurt