mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-22 23:59:34 -05:00
ITS#7604 fix modrdn, base-scope search
This commit is contained in:
parent
1748f03041
commit
a3de7c29ae
6 changed files with 7 additions and 4 deletions
|
|
@ -338,7 +338,7 @@ txnReturn:
|
||||||
op->ora_e->e_id = eid;
|
op->ora_e->e_id = eid;
|
||||||
|
|
||||||
/* dn2id index */
|
/* dn2id index */
|
||||||
rs->sr_err = mdb_dn2id_add( op, mcd, mcd, pid, 1, op->ora_e );
|
rs->sr_err = mdb_dn2id_add( op, mcd, mcd, pid, 1, 1, op->ora_e );
|
||||||
mdb_cursor_close( mcd );
|
mdb_cursor_close( mcd );
|
||||||
if ( rs->sr_err != 0 ) {
|
if ( rs->sr_err != 0 ) {
|
||||||
Debug( LDAP_DEBUG_TRACE,
|
Debug( LDAP_DEBUG_TRACE,
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,7 @@ mdb_dn2id_add(
|
||||||
MDB_cursor *mcd,
|
MDB_cursor *mcd,
|
||||||
ID pid,
|
ID pid,
|
||||||
ID nsubs,
|
ID nsubs,
|
||||||
|
int upsub,
|
||||||
Entry *e )
|
Entry *e )
|
||||||
{
|
{
|
||||||
struct mdb_info *mdb = (struct mdb_info *) op->o_bd->be_private;
|
struct mdb_info *mdb = (struct mdb_info *) op->o_bd->be_private;
|
||||||
|
|
@ -156,7 +157,7 @@ mdb_dn2id_add(
|
||||||
op->o_tmpfree( d, op->o_tmpmemctx );
|
op->o_tmpfree( d, op->o_tmpmemctx );
|
||||||
|
|
||||||
/* Add our subtree count to all superiors */
|
/* Add our subtree count to all superiors */
|
||||||
if ( rc == 0 && nsubs && pid ) {
|
if ( rc == 0 && upsub && pid ) {
|
||||||
ID subs;
|
ID subs;
|
||||||
nid = pid;
|
nid = pid;
|
||||||
do {
|
do {
|
||||||
|
|
|
||||||
|
|
@ -492,7 +492,7 @@ txnReturn:
|
||||||
|
|
||||||
/* add new DN */
|
/* add new DN */
|
||||||
rs->sr_err = mdb_dn2id_add( op, mc, mc, np ? np->e_id : p->e_id,
|
rs->sr_err = mdb_dn2id_add( op, mc, mc, np ? np->e_id : p->e_id,
|
||||||
np ? nsubs : 0, &dummy );
|
nsubs, np != NULL, &dummy );
|
||||||
if ( rs->sr_err != 0 ) {
|
if ( rs->sr_err != 0 ) {
|
||||||
Debug(LDAP_DEBUG_TRACE,
|
Debug(LDAP_DEBUG_TRACE,
|
||||||
"<=- " LDAP_XSTRING(mdb_modrdn)
|
"<=- " LDAP_XSTRING(mdb_modrdn)
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ int mdb_dn2id_add(
|
||||||
MDB_cursor *mcd,
|
MDB_cursor *mcd,
|
||||||
ID pid,
|
ID pid,
|
||||||
ID nsubs,
|
ID nsubs,
|
||||||
|
int upsub,
|
||||||
Entry *e );
|
Entry *e );
|
||||||
|
|
||||||
int mdb_dn2id_delete(
|
int mdb_dn2id_delete(
|
||||||
|
|
|
||||||
|
|
@ -538,6 +538,7 @@ dn2entry_retry:
|
||||||
/* select candidates */
|
/* select candidates */
|
||||||
if ( op->oq_search.rs_scope == LDAP_SCOPE_BASE ) {
|
if ( op->oq_search.rs_scope == LDAP_SCOPE_BASE ) {
|
||||||
rs->sr_err = base_candidate( op->o_bd, base, candidates );
|
rs->sr_err = base_candidate( op->o_bd, base, candidates );
|
||||||
|
scopes[0].mid = 0;
|
||||||
ncand = 1;
|
ncand = 1;
|
||||||
} else {
|
} else {
|
||||||
if ( op->ors_scope == LDAP_SCOPE_ONELEVEL ) {
|
if ( op->ors_scope == LDAP_SCOPE_ONELEVEL ) {
|
||||||
|
|
|
||||||
|
|
@ -471,7 +471,7 @@ static int mdb_tool_next_id(
|
||||||
"=> mdb_tool_next_id: %s\n", text->bv_val, 0, 0 );
|
"=> mdb_tool_next_id: %s\n", text->bv_val, 0, 0 );
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
rc = mdb_dn2id_add( op, mcp, mcd, pid, 1, e );
|
rc = mdb_dn2id_add( op, mcp, mcd, pid, 1, 1, e );
|
||||||
if ( rc ) {
|
if ( rc ) {
|
||||||
snprintf( text->bv_val, text->bv_len,
|
snprintf( text->bv_val, text->bv_len,
|
||||||
"dn2id_add failed: %s (%d)",
|
"dn2id_add failed: %s (%d)",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue