]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/delete.c
Never let ldif_parse_line() return a NULL value with success.
[openldap] / servers / slapd / back-bdb / delete.c
index 5a19eb1e59cf3b9a98d9ad5e45b11929d1a14476..8d4c14e9c724c90b5b98205a085acb3eb1ee511d 100644 (file)
@@ -44,6 +44,10 @@ bdb_delete(
 
        int             noop = 0;
 
+#ifdef LDAP_CLIENT_UPDATE
+       Operation* ps_list;
+#endif
+
 #ifdef NEW_LOGGING
        LDAP_LOG ( OPERATION, ARGS,  "==> bdb_delete: %s\n", dn->bv_val, 0, 0 );
 #else
@@ -489,6 +493,14 @@ retry:     /* transaction retry */
 return_results:
        send_ldap_result( conn, op, rc, NULL, text, NULL, NULL );
 
+#ifdef LDAP_CLIENT_UPDATE
+        if ( rc == LDAP_SUCCESS && !noop ) {
+               LDAP_LIST_FOREACH( ps_list, &bdb->psearch_list, link ) {
+                       bdb_psearch( be, conn, op, ps_list, e, LCUP_PSEARCH_BY_DELETE );
+               }
+       }
+#endif /* LDAP_CLIENT_UPDATE */
+
        if(rc == LDAP_SUCCESS && bdb->bi_txn_cp ) {
                ldap_pvt_thread_yield();
                TXN_CHECKPOINT( bdb->bi_dbenv,