X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Ftxdb-leveldb.cpp;h=dd924ad44dcf77f3ffa81d2c0731187083f5ba70;hb=5098ea454db9132aa0f576921ca9d1a69429d146;hp=8f956fe16413c5c6f29a3414706fe2401265bf14;hpb=48b27ec277c70795166bc1467c36bc7e1b335a11;p=novacoin.git diff --git a/src/txdb-leveldb.cpp b/src/txdb-leveldb.cpp index 8f956fe..dd924ad 100644 --- a/src/txdb-leveldb.cpp +++ b/src/txdb-leveldb.cpp @@ -16,7 +16,7 @@ #include "kernel.h" #include "checkpoints.h" -#include "txdb.h" +#include "txdb-leveldb.h" #include "util.h" #include "main.h" @@ -35,27 +35,27 @@ static leveldb::Options GetOptions() { void init_blockindex(leveldb::Options& options, bool fRemoveOld = false) { // First time init. - filesystem::path directory = GetDataDir() / "txleveldb"; + boost::filesystem::path directory = GetDataDir() / "txleveldb"; if (fRemoveOld) { - filesystem::remove_all(directory); // remove directory + boost::filesystem::remove_all(directory); // remove directory unsigned int nFile = 1; for ( ; ; ) { - filesystem::path strBlockFile = GetDataDir() / strprintf("blk%04u.dat", nFile); + boost::filesystem::path strBlockFile = GetDataDir() / strprintf("blk%04u.dat", nFile); // Break if no such file - if( !filesystem::exists( strBlockFile ) ) + if( !boost::filesystem::exists( strBlockFile ) ) break; - filesystem::remove(strBlockFile); + boost::filesystem::remove(strBlockFile); nFile++; } } - filesystem::create_directory(directory); + boost::filesystem::create_directory(directory); printf("Opening LevelDB in %s\n", directory.string().c_str()); leveldb::Status status = leveldb::DB::Open(options, directory.string(), &txdb); if (!status.ok()) { @@ -64,7 +64,7 @@ void init_blockindex(leveldb::Options& options, bool fRemoveOld = false) { } // CDB subclasses are created and destroyed VERY OFTEN. That's why -// we shouldn't treat this as a free operations. +// we shouldn't treat this as free operations. CTxDB::CTxDB(const char* pszMode) { assert(pszMode); @@ -95,10 +95,10 @@ CTxDB::CTxDB(const char* pszMode) printf("Required index version is %d, removing old database\n", DATABASE_VERSION); // Leveldb instance destruction - delete txdb; - txdb = pdb = NULL; delete activeBatch; activeBatch = NULL; + delete txdb; + txdb = pdb = NULL; init_blockindex(options, true); // Remove directory and create new database pdb = txdb; @@ -410,13 +410,13 @@ bool CTxDB::LoadBlockIndex() // Calculate nChainTrust vector > vSortedByHeight; vSortedByHeight.reserve(mapBlockIndex.size()); - BOOST_FOREACH(const PAIRTYPE(uint256, CBlockIndex*)& item, mapBlockIndex) + for (const auto& item : mapBlockIndex) { CBlockIndex* pindex = item.second; vSortedByHeight.push_back(make_pair(pindex->nHeight, pindex)); } sort(vSortedByHeight.begin(), vSortedByHeight.end()); - BOOST_FOREACH(const PAIRTYPE(int, CBlockIndex*)& item, vSortedByHeight) + for (const auto& item : vSortedByHeight) { CBlockIndex* pindex = item.second; pindex->nChainTrust = (pindex->pprev ? pindex->pprev->nChainTrust : 0) + pindex->GetBlockTrust(); @@ -482,7 +482,7 @@ bool CTxDB::LoadBlockIndex() { pair pos = make_pair(pindex->nFile, pindex->nBlockPos); mapBlockPos[pos] = pindex; - BOOST_FOREACH(const CTransaction &tx, block.vtx) + for (const CTransaction &tx : block.vtx) { uint256 hashTx = tx.GetHash(); CTxIndex txindex; @@ -509,7 +509,7 @@ bool CTxDB::LoadBlockIndex() unsigned int nOutput = 0; if (nCheckLevel>3) { - BOOST_FOREACH(const CDiskTxPos &txpos, txindex.vSpent) + for (const CDiskTxPos &txpos : txindex.vSpent) { if (!txpos.IsNull()) { @@ -536,7 +536,7 @@ bool CTxDB::LoadBlockIndex() else { bool fFound = false; - BOOST_FOREACH(const CTxIn &txin, txSpend.vin) + for (const CTxIn &txin : txSpend.vin) if (txin.prevout.hash == hashTx && txin.prevout.n == nOutput) fFound = true; if (!fFound) @@ -554,7 +554,7 @@ bool CTxDB::LoadBlockIndex() // check level 5: check whether all prevouts are marked spent if (nCheckLevel>4) { - BOOST_FOREACH(const CTxIn &txin, tx.vin) + for (const CTxIn &txin : tx.vin) { CTxIndex txindex; if (ReadTxIndex(txin.prevout.hash, txindex))