prefer const string& over char* in CDB and CWalletDB constructor
- also make parameter of CDBEnv::CheckpointLSN a constant reference
This commit is contained in:
parent
438c7e4cd2
commit
22d7e7014f
3 changed files with 16 additions and 14 deletions
22
src/db.cpp
22
src/db.cpp
|
@ -215,7 +215,7 @@ bool CDBEnv::Salvage(std::string strFile, bool fAggressive,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CDBEnv::CheckpointLSN(std::string strFile)
|
void CDBEnv::CheckpointLSN(const std::string& strFile)
|
||||||
{
|
{
|
||||||
dbenv.txn_checkpoint(0, 0, 0);
|
dbenv.txn_checkpoint(0, 0, 0);
|
||||||
if (fMockDb)
|
if (fMockDb)
|
||||||
|
@ -224,12 +224,12 @@ void CDBEnv::CheckpointLSN(std::string strFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
CDB::CDB(const char *pszFile, const char* pszMode) :
|
CDB::CDB(const std::string& strFilename, const char* pszMode) :
|
||||||
pdb(NULL), activeTxn(NULL)
|
pdb(NULL), activeTxn(NULL)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
fReadOnly = (!strchr(pszMode, '+') && !strchr(pszMode, 'w'));
|
fReadOnly = (!strchr(pszMode, '+') && !strchr(pszMode, 'w'));
|
||||||
if (pszFile == NULL)
|
if (strFilename.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bool fCreate = strchr(pszMode, 'c') != NULL;
|
bool fCreate = strchr(pszMode, 'c') != NULL;
|
||||||
|
@ -242,7 +242,7 @@ CDB::CDB(const char *pszFile, const char* pszMode) :
|
||||||
if (!bitdb.Open(GetDataDir()))
|
if (!bitdb.Open(GetDataDir()))
|
||||||
throw runtime_error("CDB : Failed to open database environment.");
|
throw runtime_error("CDB : Failed to open database environment.");
|
||||||
|
|
||||||
strFile = pszFile;
|
strFile = strFilename;
|
||||||
++bitdb.mapFileUseCount[strFile];
|
++bitdb.mapFileUseCount[strFile];
|
||||||
pdb = bitdb.mapDb[strFile];
|
pdb = bitdb.mapDb[strFile];
|
||||||
if (pdb == NULL)
|
if (pdb == NULL)
|
||||||
|
@ -255,14 +255,14 @@ CDB::CDB(const char *pszFile, const char* pszMode) :
|
||||||
DbMpoolFile*mpf = pdb->get_mpf();
|
DbMpoolFile*mpf = pdb->get_mpf();
|
||||||
ret = mpf->set_flags(DB_MPOOL_NOFILE, 1);
|
ret = mpf->set_flags(DB_MPOOL_NOFILE, 1);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
throw runtime_error(strprintf("CDB : Failed to configure for no temp file backing for database %s", pszFile));
|
throw runtime_error(strprintf("CDB : Failed to configure for no temp file backing for database %s", strFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = pdb->open(NULL, // Txn pointer
|
ret = pdb->open(NULL, // Txn pointer
|
||||||
fMockDb ? NULL : pszFile, // Filename
|
fMockDb ? NULL : strFile.c_str(), // Filename
|
||||||
fMockDb ? pszFile : "main", // Logical db name
|
fMockDb ? strFile.c_str() : "main", // Logical db name
|
||||||
DB_BTREE, // Database type
|
DB_BTREE, // Database type
|
||||||
nFlags, // Flags
|
nFlags, // Flags
|
||||||
0);
|
0);
|
||||||
|
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -271,7 +271,7 @@ CDB::CDB(const char *pszFile, const char* pszMode) :
|
||||||
pdb = NULL;
|
pdb = NULL;
|
||||||
--bitdb.mapFileUseCount[strFile];
|
--bitdb.mapFileUseCount[strFile];
|
||||||
strFile = "";
|
strFile = "";
|
||||||
throw runtime_error(strprintf("CDB : Error %d, can't open database %s", ret, pszFile));
|
throw runtime_error(strprintf("CDB : Error %d, can't open database %s", ret, strFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fCreate && !Exists(string("version")))
|
if (fCreate && !Exists(string("version")))
|
||||||
|
|
6
src/db.h
6
src/db.h
|
@ -69,7 +69,7 @@ public:
|
||||||
bool Open(const boost::filesystem::path &path);
|
bool Open(const boost::filesystem::path &path);
|
||||||
void Close();
|
void Close();
|
||||||
void Flush(bool fShutdown);
|
void Flush(bool fShutdown);
|
||||||
void CheckpointLSN(std::string strFile);
|
void CheckpointLSN(const std::string& strFile);
|
||||||
|
|
||||||
void CloseDb(const std::string& strFile);
|
void CloseDb(const std::string& strFile);
|
||||||
bool RemoveDb(const std::string& strFile);
|
bool RemoveDb(const std::string& strFile);
|
||||||
|
@ -96,11 +96,13 @@ protected:
|
||||||
DbTxn *activeTxn;
|
DbTxn *activeTxn;
|
||||||
bool fReadOnly;
|
bool fReadOnly;
|
||||||
|
|
||||||
explicit CDB(const char* pszFile, const char* pszMode="r+");
|
explicit CDB(const std::string& strFilename, const char* pszMode="r+");
|
||||||
~CDB() { Close(); }
|
~CDB() { Close(); }
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void Flush();
|
void Flush();
|
||||||
void Close();
|
void Close();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
CDB(const CDB&);
|
CDB(const CDB&);
|
||||||
void operator=(const CDB&);
|
void operator=(const CDB&);
|
||||||
|
|
|
@ -75,7 +75,7 @@ public:
|
||||||
class CWalletDB : public CDB
|
class CWalletDB : public CDB
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CWalletDB(std::string strFilename, const char* pszMode="r+") : CDB(strFilename.c_str(), pszMode)
|
CWalletDB(const std::string& strFilename, const char* pszMode = "r+") : CDB(strFilename, pszMode)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue