Move LMDB storage to subfolder

This commit is contained in:
warptangent 2015-02-19 06:37:00 -08:00
parent 42f8fe5c7f
commit ce71abd0fe
No known key found for this signature in database
GPG Key ID: 0E490BEBFBE4E92D
2 changed files with 12 additions and 1 deletions

View File

@ -630,6 +630,16 @@ void BlockchainLMDB::open(const std::string& filename)
throw0(DB_OPEN_FAILURE(std::string("Failed to create directory ").append(filename).c_str())); throw0(DB_OPEN_FAILURE(std::string("Failed to create directory ").append(filename).c_str()));
} }
// check for existing LMDB files in base directory
boost::filesystem::path old_files = direc.parent_path();
if (boost::filesystem::exists(old_files / "data.mdb") ||
boost::filesystem::exists(old_files / "lock.mdb"))
{
LOG_PRINT_L0("Found existing LMDB files in " << old_files.c_str());
LOG_PRINT_L0("Move data.mdb and/or lock.mdb to " << filename << ", or delete them, and then restart");
throw DB_ERROR("Database could not be opened");
}
m_folder = filename; m_folder = filename;
// set up lmdb environment // set up lmdb environment

View File

@ -237,8 +237,9 @@ bool Blockchain::init(const std::string& config_folder, bool testnet)
m_testnet = testnet; m_testnet = testnet;
boost::filesystem::path folder(m_config_folder); boost::filesystem::path folder(m_config_folder);
folder /= "lmdb";
LOG_PRINT_L0("Loading blockchain..."); LOG_PRINT_L0("Loading blockchain from folder " << folder.c_str() << " ...");
//FIXME: update filename for BlockchainDB //FIXME: update filename for BlockchainDB
const std::string filename = folder.string(); const std::string filename = folder.string();