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

Re: On-disk-format of back-mdb depends on LDAP syntax?



Michael StrÃder wrote:
HI!

Does the on-disk-format of back-mdb depends on which LDAP syntax is used for an
attribute?

In multiple ways. Indexing depends on the syntax and matching rule, but you already mentioned no indexing here. Also, whether or not the syntax uses a normalizer inside slapd or not, determines how values are stored in an entry. (With a normalizer, values are stored twice, once in normalized format.)

So if the LDAP syntax for an an existing attribute would change I have to
reimport the MDB?

Background:

I've changed (as a work-around for a broken client software) the LDAP syntax of
a custom attribute from Boolean to IA5String.

Changed how? LDAPModifying the schema definition in cn=config?

After that I could still read the attribute. But when deleting the attribute
slapd returned noSuchAttribute(16). I had to remove the whole entry.

Most likely your change created two clashing AttributeDescriptions inside slapd. Internally, attributes are matched by their AttributeDescription pointers, not by their string names. If you changed the attribute definition by deleting and adding it, then there would be two AttributeDescription pointers for the same name, and an entry loaded with the old pointer would naturally not match a lookup for the current pointer.

BTW: No index configured this attribute.

Ciao, Michael.





--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/