/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2003 The OpenLDAP Foundation.
+ * Copyright 1998-2005 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
idl_free( ID_BLOCK *idl )
{
if ( idl == NULL ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO, "idl_free: called with NULL pointer\n" , 0,0,0);
-#else
Debug( LDAP_DEBUG_TRACE,
"idl_free: called with NULL pointer\n",
0, 0, 0 );
-#endif
return;
}
cont_id( &data, ID_BLOCK_ID(idl, i) );
if ( (tmp[i] = idl_fetch_one( be, db, data )) == NULL ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_fetch: idl_fetch_one returned NULL\n", 0,0,0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_fetch: one returned NULL\n", 0, 0, 0 );
-#endif
continue;
}
idl_check(idl);
#endif
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, ENTRY,
- "idl_fetch: %ld ids (%ld max)\n",
- ID_BLOCK_NIDS(idl), ID_BLOCK_NMAXN(idl), 0 );
-#else
Debug( LDAP_DEBUG_TRACE, "<= idl_fetch %ld ids (%ld max)\n",
ID_BLOCK_NIDS(idl), ID_BLOCK_NMAXN(idl), 0 );
-#endif
return( idl );
}
/* delete old key block */
if ( (rc = ldbm_cache_delete( db, bkey )) != 0 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_change_first: ldbm_cache_delete returned %d\n", rc, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_change_first: ldbm_cache_delete returned %d\n",
rc, 0, 0 );
-#endif
return( rc );
}
cont_id( &bkey, ID_BLOCK_ID(b, 0) );
if ( (rc = idl_store( be, db, bkey, b )) != 0 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_change_first: idl_store returned %d\n", rc, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_change_first: idl_store returned %d\n", rc, 0, 0 );
-#endif
return( rc );
}
/* update + write indirect header block */
ID_BLOCK_ID(h, pos) = ID_BLOCK_ID(b, 0);
if ( (rc = idl_store( be, db, hkey, h )) != 0 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_change_first: idl_store returned %s\n", rc, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_change_first: idl_store returned %d\n", rc, 0, 0 );
-#endif
return( rc );
}
cont_id( &k2, ID_BLOCK_ID(idl, i) );
if ( (tmp = idl_fetch_one( be, db, k2 )) == NULL ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, ERR,
- "idl_insert_key: nonexistent continuation block\n", 0, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY, "idl_insert_key: nonexistent continuation block\n",
0, 0, 0 );
-#endif
cont_free( &k2 );
idl_free( idl );
switch ( idl_insert( &tmp, id, db->dbc_maxids ) ) {
case 0: /* id inserted ok */
if ( (rc = idl_store( be, db, k2, tmp )) != 0 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, ERR,
- "ids_insert_key: idl_store returned %d\n", rc, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_insert_key: idl_store returned %d\n", rc, 0, 0 );
-#endif
}
break;
cont_alloc( &k3, &key );
cont_id( &k3, ID_BLOCK_ID(idl, i + 1) );
if ( (tmp2 = idl_fetch_one( be, db, k3 )) == NULL ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, ERR,
- "idl_insert_key: idl_fetch_one returned NULL\n", 0, 0, 0);
-#else
Debug( LDAP_DEBUG_ANY,
"idl_insert_key: idl_fetch_one returned NULL\n",
0, 0, 0 );
-#endif
/* split the original block */
cont_free( &k3 );
rc = idl_insert( &tmp, id, db->dbc_maxids );
if ( (rc = idl_store( be, db, k2, tmp )) != 0 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, ERR,
- "idl_insert_key: idl_store returned %d\n", rc, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_insert_key: idl_store returned %d\n", rc, 0, 0 );
-#endif
}
* will always be called.
*/
if ( rc == 2 ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_insert_key: id %ld is already in next block\n",
- id, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_insert_key: id %ld already in next block\n",
id, 0, 0 );
-#endif
}
*/
cont_alloc( &data, &key );
#ifndef USE_INDIRECT_NIDS
- for ( nids = 0; !ID_BLOCK_NOID(idl, nids); nids++ )
- ; /* NULL */
+ for ( nids = 0; !ID_BLOCK_NOID(idl, nids); nids++ ) {
+ ; /* Empty */
+ }
for ( j = 0; j<nids; j++ )
#else
nids = ID_BLOCK_NIDS(idl);
- for ( j = idl_find(idl, id); j >= 0; j = -1) /* execute once */
+ j = idl_find(idl, id);
+ if ( ID_BLOCK_ID(idl, j) > id ) j--;
+ for (; j>=0; j = -1 ) /* execute once */
#endif
{
ID_BLOCK *tmp;
cont_id( &data, ID_BLOCK_ID(idl, j) );
if ( (tmp = idl_fetch_one( be, db, data )) == NULL ) {
-#ifdef NEW_LOGGING
- LDAP_LOG( INDEX, INFO,
- "idl_delete_key: idl_fetch_one returned NULL\n", 0, 0, 0 );
-#else
Debug( LDAP_DEBUG_ANY,
"idl_delete_key: idl_fetch of returned NULL\n", 0, 0, 0 );
-#endif
continue;
}