mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-27 18:19:52 -05:00
Minor fixes for BDB_IDL_MULTI
This commit is contained in:
parent
efa14463ec
commit
d0c0dfcce6
2 changed files with 12 additions and 3 deletions
|
|
@ -319,6 +319,8 @@ bdb_idl_insert_key(
|
|||
data.data = &id;
|
||||
data.size = sizeof(id);
|
||||
data.flags = DB_DBT_USERMEM;
|
||||
|
||||
rc = db->put( db, tid, key, &data, DB_NODUPDATA );
|
||||
#else
|
||||
data.data = ids;
|
||||
data.ulen = sizeof ids;
|
||||
|
|
@ -379,11 +381,10 @@ bdb_idl_insert_key(
|
|||
|
||||
data.size = BDB_IDL_SIZEOF( ids );
|
||||
}
|
||||
#endif
|
||||
|
||||
/* store the key */
|
||||
rc = db->put( db, tid, key, &data, 0 );
|
||||
|
||||
#endif
|
||||
if( rc == DB_KEYEXIST ) rc = 0;
|
||||
|
||||
if( rc != 0 ) {
|
||||
|
|
@ -429,7 +430,8 @@ bdb_idl_delete_key(
|
|||
rc = db->cursor( db, tid, &cursor, bdb->bi_db_opflags );
|
||||
rc = cursor->c_get( cursor, key, &data, bdb->bi_db_opflags |
|
||||
DB_GET_BOTH | DB_RMW );
|
||||
rc = cursor->c_del( cursor, 0 );
|
||||
if (rc == 0)
|
||||
rc = cursor->c_del( cursor, 0 );
|
||||
rc = cursor->c_close( cursor );
|
||||
}
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -245,6 +245,13 @@ bdb_db_open( BackendDB *be )
|
|||
rc = db->bdi_db->set_bt_compare( db->bdi_db,
|
||||
bdb_bt_compare );
|
||||
}
|
||||
#ifdef BDB_IDL_MULTI
|
||||
if( i == BDB_DN2ID ) {
|
||||
rc = db->bdi_db->set_flags( db->bdi_db, DB_DUPSORT );
|
||||
rc = db->bdi_db->set_dup_compare( db->bdi_db,
|
||||
bdb_bt_compare );
|
||||
}
|
||||
#endif
|
||||
rc = db->bdi_db->set_pagesize( db->bdi_db, BDB_PAGESIZE );
|
||||
|
||||
rc = db->bdi_db->open( db->bdi_db,
|
||||
|
|
|
|||
Loading…
Reference in a new issue