mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
a patch for persistent search
This commit is contained in:
parent
c5db2b7028
commit
0c0b29fc85
@ -496,8 +496,9 @@ retry: /* transaction retry */
|
|||||||
|
|
||||||
if ( rs->sr_err == LDAP_SUCCESS && !op->o_no_psearch ) {
|
if ( rs->sr_err == LDAP_SUCCESS && !op->o_no_psearch ) {
|
||||||
ldap_pvt_thread_rdwr_rlock( &bdb->bi_pslist_rwlock );
|
ldap_pvt_thread_rdwr_rlock( &bdb->bi_pslist_rwlock );
|
||||||
|
assert( BEI(e) );
|
||||||
LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
|
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_PSEARCH_BY_ADD );
|
||||||
}
|
}
|
||||||
ldap_pvt_thread_rdwr_runlock( &bdb->bi_pslist_rwlock );
|
ldap_pvt_thread_rdwr_runlock( &bdb->bi_pslist_rwlock );
|
||||||
|
@ -997,9 +997,6 @@ id2entry_retry:
|
|||||||
} else {
|
} else {
|
||||||
e = ps_e;
|
e = ps_e;
|
||||||
}
|
}
|
||||||
#if 0
|
|
||||||
assert( BEI(e) );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rs->sr_entry = e;
|
rs->sr_entry = e;
|
||||||
|
|
||||||
@ -1053,15 +1050,13 @@ id2entry_retry:
|
|||||||
if ( id == base.e_id ) break;
|
if ( id == base.e_id ) break;
|
||||||
/* Fall-thru */
|
/* Fall-thru */
|
||||||
case LDAP_SCOPE_SUBTREE: {
|
case LDAP_SCOPE_SUBTREE: {
|
||||||
EntryInfo *tmp = BEI(e);
|
EntryInfo *tmp;
|
||||||
if ( tmp ) for (; tmp->bei_parent; tmp = tmp->bei_parent ) {
|
for (tmp = BEI(e); tmp->bei_parent;
|
||||||
|
tmp = tmp->bei_parent ) {
|
||||||
if ( tmp->bei_id == base.e_id ) {
|
if ( tmp->bei_id == base.e_id ) {
|
||||||
scopeok = 1;
|
scopeok = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
/* FIXME */
|
|
||||||
scopeok = 1;
|
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user