X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-bdb%2Fkey.c;h=69d81b770a80bfb18284bc866537144187393329;hb=550dc4aaeee2b9f2ed25b451d950bd5e7088652d;hp=e64236693578b93efa160842596e3ec413bd1a8e;hpb=dc0eacd40b625258355eea866d62188e5aa7ce3b;p=openldap diff --git a/servers/slapd/back-bdb/key.c b/servers/slapd/back-bdb/key.c index e642366935..69d81b770a 100644 --- a/servers/slapd/back-bdb/key.c +++ b/servers/slapd/back-bdb/key.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2005 The OpenLDAP Foundation. + * Copyright 2000-2011 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -84,7 +84,13 @@ bdb_key_change( if (op == SLAP_INDEX_ADD_OP) { /* Add values */ - rc = bdb_idl_insert_key( be, db, txn, &key, id ); + +#ifdef BDB_TOOL_IDL_CACHING + if ( slapMode & SLAP_TOOL_QUICK ) + rc = bdb_tool_idl_add( be, db, txn, &key, id ); + else +#endif + rc = bdb_idl_insert_key( be, db, txn, &key, id ); if ( rc == DB_KEYEXIST ) rc = 0; } else { /* Delete values */