|
|
|
@ -484,13 +484,11 @@ void BerkeleyEnvironment::ReloadDbEnv()
|
|
|
|
|
Open(true);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool BerkeleyBatch::Rewrite(BerkeleyDatabase& database, const char* pszSkip)
|
|
|
|
|
bool BerkeleyDatabase::Rewrite(const char* pszSkip)
|
|
|
|
|
{
|
|
|
|
|
if (database.IsDummy()) {
|
|
|
|
|
if (IsDummy()) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
BerkeleyEnvironment *env = database.env.get();
|
|
|
|
|
const std::string& strFile = database.strFile;
|
|
|
|
|
while (true) {
|
|
|
|
|
{
|
|
|
|
|
LOCK(cs_db);
|
|
|
|
@ -504,7 +502,7 @@ bool BerkeleyBatch::Rewrite(BerkeleyDatabase& database, const char* pszSkip)
|
|
|
|
|
LogPrintf("BerkeleyBatch::Rewrite: Rewriting %s...\n", strFile);
|
|
|
|
|
std::string strFileRes = strFile + ".rewrite";
|
|
|
|
|
{ // surround usage of db with extra {}
|
|
|
|
|
BerkeleyBatch db(database, "r");
|
|
|
|
|
BerkeleyBatch db(*this, "r");
|
|
|
|
|
std::unique_ptr<Db> pdbCopy = MakeUnique<Db>(env->dbenv.get(), 0);
|
|
|
|
|
|
|
|
|
|
int ret = pdbCopy->open(nullptr, // Txn pointer
|
|
|
|
@ -654,11 +652,6 @@ bool BerkeleyDatabase::PeriodicFlush()
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool BerkeleyDatabase::Rewrite(const char* pszSkip)
|
|
|
|
|
{
|
|
|
|
|
return BerkeleyBatch::Rewrite(*this, pszSkip);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool BerkeleyDatabase::Backup(const std::string& strDest) const
|
|
|
|
|
{
|
|
|
|
|
if (IsDummy()) {
|
|
|
|
|