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

(ITS#6442) slaptools iteration enhancement

Full_Name: Pierangelo Masarati
Version: HEAD/re24
OS: irrelevant
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (
Submitted by: ando

I've modified bi_tool_entry_first(), the call that initiates an iteration in
slaptools, to allow to pass a subtree, a scope and a filter.  This allows
backends to only return IDs of entries that meet the specification.

Currently, slapcat and slapschema can do this check downstream.  This makes
sense with most backends, significantly with back-bdb/hdb.  However, other
backends, like back-ndb and back-sql, and custom or private ones, may be able to
exploit this information.

I have two variants: one adds three arguments to bi_tool_entry_first(), thus
breaking existing custom backends.  The other adds a new call
bi_tool_entry_first_x(), leaving the existing one untouched.

Both changes will cause binary incompatibility; the latter will not require to
modify custom backends (I've already modified all the existing backends,
exploiting in most cases the new feature; in back-bdb there is room for minimal
improvement, as DN lookahead is relatively straightforward, so if base/scope is
defined, but no filter, some advantages can be expected).

I'd be happy to receive further comments before I proceed with the commit.