]> git.sur5r.net Git - openldap/commitdiff
a patch for persistent search
authorJong Hyuk Choi <jongchoi@openldap.org>
Wed, 31 Dec 2003 22:11:38 +0000 (22:11 +0000)
committerJong Hyuk Choi <jongchoi@openldap.org>
Wed, 31 Dec 2003 22:11:38 +0000 (22:11 +0000)
servers/slapd/back-bdb/add.c
servers/slapd/back-bdb/search.c

index 33916c7bab247e0be1974a210e6f72f478631e88..f3a6281b1caa5af8f20445da8c093db28a5d9a09 100644 (file)
@@ -496,8 +496,9 @@ retry:      /* transaction retry */
 
                if ( rs->sr_err == LDAP_SUCCESS && !op->o_no_psearch ) {
                        ldap_pvt_thread_rdwr_rlock( &bdb->bi_pslist_rwlock );
+                       assert( BEI(e) );
                        LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
-                               bdb_psearch( op, rs, ps_list, op->oq_add.rs_e,
+                               bdb_psearch( op, rs, ps_list, e,
                                        LDAP_PSEARCH_BY_ADD );
                        }
                        ldap_pvt_thread_rdwr_runlock( &bdb->bi_pslist_rwlock );
index 0772cca90802634e5d3b0b5051bb0c70393a924b..6018d16d970443780ace6d98bdc1ee5941861d72 100644 (file)
@@ -997,9 +997,6 @@ id2entry_retry:
                } else {
                        e = ps_e;
                }
-#if 0
-               assert( BEI(e) );
-#endif
 
                rs->sr_entry = e;
 
@@ -1053,15 +1050,13 @@ id2entry_retry:
                        if ( id == base.e_id ) break;
                        /* Fall-thru */
                case LDAP_SCOPE_SUBTREE: {
-                       EntryInfo *tmp = BEI(e);
-                       if ( tmp ) for (; tmp->bei_parent; tmp = tmp->bei_parent ) {
+                       EntryInfo *tmp;
+                       for (tmp = BEI(e); tmp->bei_parent;
+                                tmp = tmp->bei_parent ) {
                                if ( tmp->bei_id == base.e_id ) {
                                        scopeok = 1;
                                        break;
                                }
-                       } else {
-                               /* FIXME */
-                               scopeok = 1;
                        }
                        } break;
                }