]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/delete.c
document option '-F'
[openldap] / servers / slapd / back-bdb / delete.c
index 7eacf1fbc4790d45f9799240d9a3707da1dadc4d..f5910ef9a35dc0e6f290cda023bebae3b8bc32c9 100644 (file)
@@ -42,11 +42,7 @@ bdb_delete( Operation *op, SlapReply *rs )
 
        int             num_retries = 0;
 
-       Operation* ps_list;
        int     rc;
-       EntryInfo   *suffix_ei;
-       Entry       *ctxcsn_e;
-       int         ctxcsn_added = 0;
 
        LDAPControl **preread_ctrl = NULL;
        LDAPControl *ctrls[SLAP_MAX_RESPONSE_CONTROLS];
@@ -148,8 +144,6 @@ retry:      /* transaction retry */
 
        /* FIXME : dn2entry() should return non-glue entry */
        if ( e == NULL || ( !manageDSAit && is_entry_glue( e ))) {
-               BerVarray deref = NULL;
-
                Debug( LDAP_DEBUG_ARGS,
                        "<=- " LDAP_XSTRING(bdb_delete) ": no such object %s\n",
                        op->o_req_dn.bv_val, 0, 0);
@@ -163,18 +157,8 @@ retry:     /* transaction retry */
                        matched = NULL;
 
                } else {
-                       if ( op->o_bd->be_syncinfo ) {
-                               syncinfo_t *si = op->o_bd->be_syncinfo;
-                               {
-                                       struct berval tmpbv;
-                                       ber_dupbv( &tmpbv, &si->si_provideruri_bv[0] );
-                                       ber_bvarray_add( &deref, &tmpbv );
-                               }
-                       } else {
-                               deref = default_referral;
-                       }
-                       rs->sr_ref = referral_rewrite( deref, NULL, &op->o_req_dn,
-                                       LDAP_SCOPE_DEFAULT );
+                       rs->sr_ref = referral_rewrite( default_referral, NULL,
+                                       &op->o_req_dn, LDAP_SCOPE_DEFAULT );
                }
 
                rs->sr_err = LDAP_REFERRAL;
@@ -183,9 +167,6 @@ retry:      /* transaction retry */
                if ( rs->sr_ref != default_referral ) {
                        ber_bvarray_free( rs->sr_ref );
                }
-               if ( deref != default_referral ) {
-                       ber_bvarray_free( deref );
-               }
                free( (char *)rs->sr_matched );
                rs->sr_ref = NULL;
                rs->sr_matched = NULL;
@@ -364,7 +345,7 @@ retry:      /* transaction retry */
                                ": non-leaf %s\n",
                                op->o_req_dn.bv_val, 0, 0);
                        rs->sr_err = LDAP_NOT_ALLOWED_ON_NONLEAF;
-                       rs->sr_text = "subtree delete not supported";
+                       rs->sr_text = "subordinate objects must be deleted first";
                        break;
                default:
                        Debug(LDAP_DEBUG_ARGS,