Diff for /servers/slapd/back-bdb/dn2id.c between versions 1.99 and 1.100

version 1.99, 2004/06/16 21:49:35 version 1.100, 2004/07/09 01:31:52
Line 1 Line 1
 /* dn2id.c - routines to deal with the dn2id index */  /* dn2id.c - routines to deal with the dn2id index */
 /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/dn2id.c,v 1.98 2004/06/12 10:27:22 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/back-bdb/dn2id.c,v 1.99 2004/06/16 21:49:35 kurt Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 2000-2004 The OpenLDAP Foundation.   * Copyright 2000-2004 The OpenLDAP Foundation.
Line 383  bdb_dn2id_children( Line 383  bdb_dn2id_children(
         ((char *)key.data)[0] = DN_ONE_PREFIX;          ((char *)key.data)[0] = DN_ONE_PREFIX;
         AC_MEMCPY( &((char *)key.data)[1], e->e_nname.bv_val, key.size - 1 );          AC_MEMCPY( &((char *)key.data)[1], e->e_nname.bv_val, key.size - 1 );
   
 #ifdef SLAP_IDL_CACHE  
         if ( bdb->bi_idl_cache_size ) {          if ( bdb->bi_idl_cache_size ) {
                 rc = bdb_idl_cache_get( bdb, db, &key, NULL );                  rc = bdb_idl_cache_get( bdb, db, &key, NULL );
                 if ( rc != LDAP_NO_SUCH_OBJECT ) {                  if ( rc != LDAP_NO_SUCH_OBJECT ) {
Line 391  bdb_dn2id_children( Line 390  bdb_dn2id_children(
                         return rc;                          return rc;
                 }                  }
         }          }
 #endif  
         /* we actually could do a empty get... */          /* we actually could do a empty get... */
         DBTzero( &data );          DBTzero( &data );
         data.data = &id;          data.data = &id;
Line 641  hdb_dn2id_add( Line 639  hdb_dn2id_add(
                 db->put( db, txn, &key, &data, DB_NODUPDATA );                  db->put( db, txn, &key, &data, DB_NODUPDATA );
         }          }
   
 #ifdef SLAP_IDL_CACHE  
         if ( bdb->bi_idl_cache_size ) {          if ( bdb->bi_idl_cache_size ) {
                 bdb_idl_cache_del( bdb, db, &key );                  bdb_idl_cache_del( bdb, db, &key );
         }          }
 #endif  
         data.data = d;          data.data = d;
         data.size = sizeof(diskNode) + rlen + nrlen;          data.size = sizeof(diskNode) + rlen + nrlen;
         data.flags = DB_DBT_USERMEM;          data.flags = DB_DBT_USERMEM;
Line 691  hdb_dn2id_delete( Line 687  hdb_dn2id_delete(
         data.dlen = data.size;          data.dlen = data.size;
         data.flags = DB_DBT_USERMEM | DB_DBT_PARTIAL;          data.flags = DB_DBT_USERMEM | DB_DBT_PARTIAL;
   
 #ifdef SLAP_IDL_CACHE  
         if ( bdb->bi_idl_cache_size ) {          if ( bdb->bi_idl_cache_size ) {
                 bdb_idl_cache_del( bdb, db, &key );                  bdb_idl_cache_del( bdb, db, &key );
         }          }
 #endif  
         rc = db->cursor( db, txn, &cursor, bdb->bi_db_opflags );          rc = db->cursor( db, txn, &cursor, bdb->bi_db_opflags );
         if ( rc ) return rc;          if ( rc ) return rc;
   
Line 862  hdb_dn2id_children( Line 856  hdb_dn2id_children(
         key.data = &e->e_id;          key.data = &e->e_id;
         key.flags = DB_DBT_USERMEM;          key.flags = DB_DBT_USERMEM;
   
 #ifdef SLAP_IDL_CACHE  
         if ( bdb->bi_idl_cache_size ) {          if ( bdb->bi_idl_cache_size ) {
                 rc = bdb_idl_cache_get( bdb, db, &key, NULL );                  rc = bdb_idl_cache_get( bdb, db, &key, NULL );
                 if ( rc != LDAP_NO_SUCH_OBJECT ) {                  if ( rc != LDAP_NO_SUCH_OBJECT ) {
                         return rc;                          return rc;
                 }                  }
         }          }
 #endif  
         DBTzero(&data);          DBTzero(&data);
         data.data = &d;          data.data = &d;
         data.ulen = sizeof(d);          data.ulen = sizeof(d);
Line 937  hdb_dn2idl_internal( Line 929  hdb_dn2idl_internal(
         struct dn2id_cookie *cx          struct dn2id_cookie *cx
 )  )
 {  {
 #ifdef SLAP_IDL_CACHE  
         if ( cx->bdb->bi_idl_cache_size ) {          if ( cx->bdb->bi_idl_cache_size ) {
                 cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, cx->tmp);                  cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, cx->tmp);
                 if ( cx->rc == DB_NOTFOUND ) {                  if ( cx->rc == DB_NOTFOUND ) {
Line 947  hdb_dn2idl_internal( Line 938  hdb_dn2idl_internal(
                         goto gotit;                          goto gotit;
                 }                  }
         }          }
 #endif  
         BDB_IDL_ZERO( cx->tmp );          BDB_IDL_ZERO( cx->tmp );
   
         if ( !cx->ei ) {          if ( !cx->ei ) {
Line 1044  hdb_dn2idl_internal( Line 1034  hdb_dn2idl_internal(
         }          }
   
 saveit:  saveit:
 #ifdef SLAP_IDL_CACHE  
         if ( cx->bdb->bi_idl_cache_max_size ) {          if ( cx->bdb->bi_idl_cache_max_size ) {
                 bdb_idl_cache_put( cx->bdb, cx->db, &cx->key, cx->tmp, cx->rc );                  bdb_idl_cache_put( cx->bdb, cx->db, &cx->key, cx->tmp, cx->rc );
         }          }
 #endif  
         ;          ;
 gotit:  gotit:
         if ( !BDB_IDL_IS_ZERO( cx->tmp )) {          if ( !BDB_IDL_IS_ZERO( cx->tmp )) {

Removed from v.1.99  
changed lines
  Added in v.1.100


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org