]> git.sur5r.net Git - openldap/commitdiff
Re-introduce BDB_ID2ENTRY_PAGESIZE. Even if the index databases can get
authorHoward Chu <hyc@openldap.org>
Fri, 7 Dec 2001 07:07:55 +0000 (07:07 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 7 Dec 2001 07:07:55 +0000 (07:07 +0000)
by on 4K pages, the id2entry database still needs more (16K).

servers/slapd/back-bdb/back-bdb.h
servers/slapd/back-bdb/init.c

index baa408a366f550c9923e9b8df7ca0b0d36187a3f..d9b38e4399688aa568e3966fc94424485d8ed249 100644 (file)
@@ -54,6 +54,10 @@ LDAP_BEGIN_DECL
  * When using BDB_IDL_MULTI, the IDL size is no longer an issue. Smaller
  * pages are better for concurrency.
  */
+#ifndef BDB_ID2ENTRY_PAGESIZE
+#define        BDB_ID2ENTRY_PAGESIZE   16384
+#endif
+
 #ifndef BDB_PAGESIZE
 #ifdef BDB_IDL_MULTI
 #define        BDB_PAGESIZE    4096    /* BDB's original default */
index 66eb7ce861224179808d6f7940a90b224a83dd4a..41e4c37b77ee83456dfc2558ac76fee343bddad2 100644 (file)
@@ -244,6 +244,11 @@ bdb_db_open( BackendDB *be )
                if( i == BDB_ID2ENTRY ) {
                        rc = db->bdi_db->set_bt_compare( db->bdi_db,
                                bdb_bt_compare );
+                       rc = db->bdi_db->set_pagesize( db->bdi_db,
+                               BDB_ID2ENTRY_PAGESIZE );
+               } else {
+                       rc = db->bdi_db->set_pagesize( db->bdi_db,
+                               BDB_PAGESIZE );
                }
 #ifdef BDB_IDL_MULTI
                if( i == BDB_DN2ID ) {
@@ -252,8 +257,6 @@ bdb_db_open( BackendDB *be )
                                bdb_bt_compare );
                }
 #endif
-               rc = db->bdi_db->set_pagesize( db->bdi_db, BDB_PAGESIZE );
-
                rc = db->bdi_db->open( db->bdi_db,
                        bdbi_databases[i].file,
                /*      bdbi_databases[i].name, */ NULL,