The list of indexed fields -------------------------- dn=@INDEXLIST list of field names that are indexed contains fields of type @IDXATTR which contain attriute names of indexed fields Data records ------------ for each user record in the db there is: main record key: DN=dn data: packed attribute/value list a index record for each indexed field in the record Index Records ------------- The index records contain the list of dn's that contain records matching the index key All index records are of the form: dn=@INDEX:field:value and contain fields of type @IDX which are the dns of the records that have that value for some attribute Search Expressions ------------------ Very similar to LDAP search expressions, but does not allow ~=, <= or >= attrib0 := (field=value) attrib := attrib0 | (attrib&&attrib) | (attrib||attrib) | !attrib