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

Re: commit: ldap/servers/slapd schema_init.c slap.h

The generalizedTime indexer uses a 40 bit key for the equality index. This key is just the time string converted to seconds since Jan 1 1900; the chosen key size will accomodate a range of over 17,000 years. We could probably have done fine with just 32 bits; I don't know if there's any reason to care one way or the other. (The current back-bdb code relies on the fact that equality keys are larger than 32 bits, to distinguish from the presence key. But we can rework that if desired.)

This feature is only supported in back-bdb/back-hdb, taking advantage of the fact that their index databases are now btrees (and thus keys are maintained in sorted order). So the equality index is used for both equality and inequality index lookups.

I'll be looking at implementing a similar indexer for the CSN syntax in a little while.

hyc@OpenLDAP.org wrote:

Update of /repo/OpenLDAP/pkg/ldap/servers/slapd

Modified Files:
	schema_init.c  1.349 -> 1.350
	slap.h  1.582 -> 1.583

Log Message:
Add SLAP_MR_ORDERED_INDEX - support for inequality indexing. Currently
only implemented for generalizedTime syntax.

CVS Web URLs: http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/ http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/schema_init.c http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/slap.h

Changes are generally available on cvs.openldap.org (and CVSweb)
within 30 minutes of being committed.

 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support