[Date Prev][Date Next]
Re: editing objects with back-sql
Marcel Berteler wrote:
While trying to understand the whole process that makes back-sql work,
the following quote was really useful:
Pierangelo Masarati wrote on Fri, 4 Jun 2004 16:03:39 +0200
Q1: Is this process still correct and is there more documentation around
I'm talking about 2.2.X (2.2.11 at present).
- slapd uses the structuralObjectClass of the entry to look up the
objectClass mapping according to ldap_oc_mappings;
- it does some sanity checks (I'll discuss these later)
- it checks for the existence of the entry's parent
- it uses the ldap_oc_mappings create_proc to create the objectClass
entry in ldap_entries
- then, for each attribute, the corresponding values are inserted if
possible. I'll discuss later how to decide whether an add should succeed
or not if some (required?) attribute mapping is not available; now I
really have to go :)
Sounds like, as far as I remember. I don't recall any other reliable
Q2: What is the process for editing or remove data?
When I add an OU, the ldap_entry_objclasses shows the oc_name of the OU
object to be 'top', while the ldap_entries table shows the oc_map_id to
be that of organizationalUnit.
When I now try to edit the name of this object, I get the following
error, which I get as well on trying to edit any other object:
Could not rename the entry / Could not perform ldap_modify operation.
LDAP said: Object class violation
Error number: 0x41 (LDAP_OBJECT_CLASS_VIOLATION)
Description: You tried to perform an operation that would cause an
undefined attribute to exist or that would remove a required attribute,
given the current list of ObjectClasses. This can also occur if you do
not specify a structural objectClass when creating an entry, or if you
specify more than one structural objectClass.
Any clue what that could be?
Nope. Maybe enabling some verbose server-side logging could give more
Ing. Pierangelo Masarati
OpenLDAP Core Team
via Dossi, 8 - 27100 Pavia - ITALIA
Office: +39 02 23998309
Mobile: +39 333 4963172
Fax: +39 0382 476497