]> git.sur5r.net Git - openldap/commitdiff
Don't use DB_AUTO_COMMIT when opening a database
authorHoward Chu <hyc@openldap.org>
Tue, 18 Mar 2003 00:04:16 +0000 (00:04 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 18 Mar 2003 00:04:16 +0000 (00:04 +0000)
servers/slapd/back-bdb/back-bdb.h
servers/slapd/back-bdb/dbcache.c
servers/slapd/back-bdb/index.c
servers/slapd/back-bdb/init.c
servers/slapd/back-bdb/proto-bdb.h

index f3df2ae08260b3dbd32ffc0f861d77072877f766..b7a5e5c253053aa0fb5af73138657b24188fa828 100644 (file)
@@ -14,7 +14,7 @@
 
 LDAP_BEGIN_DECL
 
-/* #define BDB_HIER            1 */
+#define BDB_HIER               1
 
 #define DN_BASE_PREFIX         SLAP_INDEX_EQUALITY_PREFIX
 #define DN_ONE_PREFIX          '%'
@@ -160,7 +160,7 @@ struct bdb_op_info {
        int             boi_acl_cache;
 };
 
-#define        DB_OPEN(db, file, name, type, flags, mode) \
+#define        DB_OPEN(db, txn, file, name, type, flags, mode) \
        (db)->open(db, file, name, type, flags, mode)
 
 #if DB_VERSION_MAJOR < 4
@@ -191,8 +191,8 @@ struct bdb_op_info {
 /* BDB 4.1.17 adds txn arg to db->open */
 #if DB_VERSION_MINOR > 1 || DB_VERSION_PATCH >= 17
 #undef DB_OPEN
-#define        DB_OPEN(db, file, name, type, flags, mode) \
-       (db)->open(db, NULL, file, name, type, (flags)|DB_AUTO_COMMIT, mode)
+#define        DB_OPEN(db, txn, file, name, type, flags, mode) \
+       (db)->open(db, txn, file, name, type, flags, mode)
 #endif
 
 #define BDB_REUSE_LOCKERS
index 7f5d6718d09a5509be18638cc28058b5f23d933d..a9ac40efa5f333d8a44928fa94c1ec83f586933f 100644 (file)
@@ -46,6 +46,7 @@ bdb_db_hash(
 int
 bdb_db_cache(
        Backend *be,
+       DB_TXN *tid,
        const char *name,
        DB **dbout )
 {
@@ -110,7 +111,7 @@ bdb_db_cache(
 #ifdef HAVE_EBCDIC
        __atoe( file );
 #endif
-       rc = DB_OPEN( db->bdi_db,
+       rc = DB_OPEN( db->bdi_db, tid,
                file, name,
                DB_HASH, bdb->bi_db_opflags | DB_CREATE | DB_THREAD,
                bdb->bi_dbenv_mode );
index 1120054eb3f8b6a7c8f670fd4ccfa8cd43f8a6d1..86c777ef169715ae59320889afcb73cce1b9bb82 100644 (file)
@@ -103,7 +103,7 @@ int bdb_index_param(
                return LDAP_INAPPROPRIATE_MATCHING;
        }
 
-       rc = bdb_db_cache( be, dbname, &db );
+       rc = bdb_db_cache( be, NULL, dbname, &db );
 
        if( rc != LDAP_SUCCESS ) {
                return rc;
@@ -165,7 +165,7 @@ static int indexer(
 
        assert( mask );
 
-       rc = bdb_db_cache( be, dbname, &db );
+       rc = bdb_db_cache( be, txn, dbname, &db );
        
        if ( rc != LDAP_SUCCESS ) {
 #ifdef NEW_LOGGING
index 7d6dae13f02988c420ab3b3c08d0cb7192dd8132..ec95cfc42b160501a9d0e313e07c1f84481cc204 100644 (file)
@@ -380,14 +380,14 @@ bdb_db_open( BackendDB *be )
 #ifdef HAVE_EBCDIC
                strcpy( path, bdbi_databases[i].file );
                __atoe( path );
-               rc = DB_OPEN( db->bdi_db, 
+               rc = DB_OPEN( db->bdi_db, NULL,
                        path,
                /*      bdbi_databases[i].name, */ NULL,
                        bdbi_databases[i].type,
                        bdbi_databases[i].flags | flags,
                        bdb->bi_dbenv_mode );
 #else
-               rc = DB_OPEN( db->bdi_db, 
+               rc = DB_OPEN( db->bdi_db, NULL,
                        bdbi_databases[i].file,
                /*      bdbi_databases[i].name, */ NULL,
                        bdbi_databases[i].type,
index 01103d1585597e3bff6ea8be5ddb4694ef420296..8cb1ed580892a01d3cc4b1da07e3e72628cda732 100644 (file)
@@ -51,6 +51,7 @@ BI_acl_attribute bdb_attribute;
 int
 bdb_db_cache(
     Backend    *be,
+    DB_TXN *tid,
     const char *name,
        DB **db );