]> git.sur5r.net Git - openldap/commitdiff
Reset Entry->e_ocflags to 0 if objectClass attr is modified.
authorHoward Chu <hyc@openldap.org>
Sat, 19 Jan 2002 04:51:42 +0000 (04:51 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 19 Jan 2002 04:51:42 +0000 (04:51 +0000)
(Only an issue with entry caching...)

servers/slapd/back-bdb/modify.c
servers/slapd/back-ldbm/modify.c

index 17acfbd73668bb8477c04d23f9588dc5a94278b1..5050bddda892da46025f4ee33d8507c3a0fd41f7 100644 (file)
@@ -117,6 +117,11 @@ int bdb_modify_internal(
                        return err; 
                }
 
+               /* If objectClass was modified, reset the flags */
+               if ( mod->sm_desc == slap_schema.si_ad_objectClass ) {
+                       e->e_ocflags = 0;
+               }
+
                /* check if modified attribute was indexed */
                err = bdb_index_is_indexed( be, mod->sm_desc );
                if ( err == LDAP_SUCCESS ) {
index 685d87c6f510589a2deb9b0f93b724c2e85d668a..875399148532af2a53056dbf89cde713a1ff059a 100644 (file)
@@ -187,6 +187,11 @@ int ldbm_modify_internal(
                        goto exit;
                }
 
+               /* If objectClass was modified, reset the flags */
+               if ( mod->sm_desc == slap_schema.si_ad_objectClass ) {
+                       e->e_ocflags = 0;
+               }
+
                /* check if modified attribute was indexed */
                rc = index_is_indexed( be, mod->sm_desc );
                if ( rc == LDAP_SUCCESS ) {