From 760264bffe7f233f7c1fd5e9fccb9b3c189afd58 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 6 Dec 2005 15:00:04 +0000 Subject: [PATCH] * Require Berkeley DB 4.4. * Checkpoint after an upgrade. --- externals/Makefile.am | 6 +++--- src/libstore/db.cc | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/externals/Makefile.am b/externals/Makefile.am index 126d656e5..d4a5189f9 100644 --- a/externals/Makefile.am +++ b/externals/Makefile.am @@ -1,11 +1,11 @@ # Berkeley DB -DB = db-4.3.28.NC +DB = db-4.4.16.NC $(DB).tar.gz: @echo "Nix requires Berkeley DB to build." - @echo "Please download version 4.3.28 from" - @echo " http://downloads.sleepycat.com/db-4.3.28.NC.tar.gz" + @echo "Please download version 4.4.16 from" + @echo " http://downloads.sleepycat.com/db-4.4.16.NC.tar.gz" @echo "and place it in the externals/ directory." false diff --git a/src/libstore/db.cc b/src/libstore/db.cc index a0b1c16cd..2c925134a 100644 --- a/src/libstore/db.cc +++ b/src/libstore/db.cc @@ -306,11 +306,13 @@ void Database::open(const string & path) /* Try again. */ open2(path, false); + + /* Force a checkpoint, as per the BDB docs. */ + env->txn_checkpoint(DB_FORCE, 0, 0); } else rethrow(e); } - }