From 87ce74e59b88c2a36aeeb2d0ddc01c8cc6e6b77b Mon Sep 17 00:00:00 2001 From: svost Date: Wed, 16 Feb 2022 14:04:57 +0300 Subject: [PATCH] Remove main.h from db.cpp --- src/bitcoinrpc.cpp | 8 +++----- src/db.cpp | 31 +++++++++---------------------- src/db.h | 6 ++---- src/init.cpp | 4 +--- src/qt/bitcoinstrings.cpp | 2 -- src/qt/optionsdialog.cpp | 1 - src/qt/optionsdialog.ui | 10 ---------- src/qt/optionsmodel.cpp | 10 ---------- src/qt/optionsmodel.h | 3 +-- src/walletdb.h | 2 ++ 10 files changed, 18 insertions(+), 59 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 2f38597..bb8ea6d 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -206,14 +206,12 @@ Value help(const Array& params, bool fHelp) Value stop(const Array& params, bool fHelp) { +// Accept the deprecated and ignored 'detach´ boolean argument if (fHelp || params.size() > 1) throw std::runtime_error( - "stop \n" - " is true or false to detach the database or not for this stop only\n" - "Stop NovaCoin server (and possibly override the detachdb config value)."); + "stop\n" + "Stop Novacoin server."); // Shutdown will take long enough that the response should get back - if (!params.empty()) - bitdb.SetDetach(params[0].get_bool()); StartShutdown(); return "NovaCoin server stopping"; } diff --git a/src/db.cpp b/src/db.cpp index 7ed1d23..f252972 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -5,7 +5,7 @@ #include "db.h" #include "util.h" -#include "main.h" +#include "addrman.h" #include "random.h" #include @@ -41,7 +41,7 @@ void CDBEnv::EnvShutdown() DbEnv(0u).remove(strPath.c_str(), 0); } -CDBEnv::CDBEnv() : fDetachDB(false), fDbEnvInit(false), fMockDb(false), dbenv(DB_CXX_NO_EXCEPTIONS) { } +CDBEnv::CDBEnv() : fDbEnvInit(false), fMockDb(false), dbenv(DB_CXX_NO_EXCEPTIONS) { } CDBEnv::~CDBEnv() { @@ -279,14 +279,6 @@ CDB::CDB(const char *pszFile, const char* pszMode) : } } -static bool IsChainFile(std::string strFile) -{ - if (strFile == "blkindex.dat") - return true; - - return false; -} - void CDB::Close() { if (!pdb) @@ -300,10 +292,6 @@ void CDB::Close() unsigned int nMinutes = 0; if (fReadOnly) nMinutes = 1; - if (IsChainFile(strFile)) - nMinutes = 2; - if (IsChainFile(strFile) && IsInitialBlockDownload()) - nMinutes = 5; bitdb.dbenv.txn_checkpoint(nMinutes ? GetArgUInt("-dblogsize", 100)*1024 : 0, nMinutes, 0); @@ -459,11 +447,9 @@ void CDBEnv::Flush(bool fShutdown) CloseDb(strFile); printf("%s checkpoint\n", strFile.c_str()); dbenv.txn_checkpoint(0, 0, 0); - if (!IsChainFile(strFile) || fDetachDB) { - printf("%s detach\n", strFile.c_str()); - if (!fMockDb) - dbenv.lsn_reset(strFile.c_str(), 0); - } + printf("%s detach\n", strFile.c_str()); + if (!fMockDb) + dbenv.lsn_reset(strFile.c_str(), 0); printf("%s closed\n", strFile.c_str()); mapFileUseCount.erase(mi++); } @@ -488,6 +474,7 @@ void CDBEnv::Flush(bool fShutdown) // CAddrDB // +unsigned char CAddrDB::pchMessageStart[4] = {}; CAddrDB::CAddrDB() { @@ -503,7 +490,7 @@ bool CAddrDB::Write(const CAddrMan& addr) // serialize addresses, checksum data up to that point, then append csum CDataStream ssPeers(SER_DISK, CLIENT_VERSION); - ssPeers << FLATDATA(pchMessageStart); + ssPeers << FLATDATA(CAddrDB::pchMessageStart); ssPeers << addr; uint256 hash = Hash(ssPeers.begin(), ssPeers.end()); ssPeers << hash; @@ -568,11 +555,11 @@ bool CAddrDB::Read(CAddrMan& addr) unsigned char pchMsgTmp[4]; try { - // de-serialize file header (pchMessageStart magic number) and + // de-serialize file header (CAddrDB::pchMessageStart magic number) and ssPeers >> FLATDATA(pchMsgTmp); // verify the network matches ours - if (memcmp(pchMsgTmp, pchMessageStart, sizeof(pchMsgTmp))) + if (memcmp(pchMsgTmp, CAddrDB::pchMessageStart, sizeof(pchMsgTmp))) return error("CAddrman::Read() : invalid network magic number"); // de-serialize address data into one CAddrMan object diff --git a/src/db.h b/src/db.h index e1e3c93..d04bd2d 100644 --- a/src/db.h +++ b/src/db.h @@ -32,14 +32,12 @@ class CWalletTx; extern unsigned int nWalletDBUpdated; void ThreadFlushWalletDB(void* parg); -bool BackupWallet(const CWallet& wallet, const std::string& strDest); bool DumpWallet(CWallet* pwallet, const std::string& strDest); bool ImportWallet(CWallet* pwallet, const std::string& strLocation); class CDBEnv { private: - bool fDetachDB; bool fDbEnvInit; bool fMockDb; boost::filesystem::path pathEnv; @@ -80,8 +78,6 @@ public: void Close(); void Flush(bool fShutdown); void CheckpointLSN(std::string strFile); - void SetDetach(bool fDetachDB_) { fDetachDB = fDetachDB_; } - bool GetDetach() { return fDetachDB; } void CloseDb(const std::string& strFile); bool RemoveDb(const std::string& strFile); @@ -323,10 +319,12 @@ class CAddrDB { private: boost::filesystem::path pathAddr; + static unsigned char pchMessageStart[4]; public: CAddrDB(); bool Write(const CAddrMan& addr); bool Read(CAddrMan& addr); + static void SetMessageStart(unsigned char _pchMessageStart[]) { memcpy(CAddrDB::pchMessageStart, _pchMessageStart, sizeof(CAddrDB::pchMessageStart)); } }; #endif // BITCOIN_DB_H diff --git a/src/init.cpp b/src/init.cpp index b6d4cdd..5b1ee2a 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -266,7 +266,6 @@ std::string HelpMessage() " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" + " -maxreceivebuffer= " + _("Maximum per-connection receive buffer, *1000 bytes (default: 5000)") + "\n" + " -maxsendbuffer= " + _("Maximum per-connection send buffer, *1000 bytes (default: 1000)") + "\n" + - " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" + #ifdef DB_LOG_IN_MEMORY " -memorylog " + _("Use in-memory logging for block index database (default: 1)") + "\n" + @@ -457,8 +456,6 @@ bool AppInit2() else fDebugNet = GetBoolArg("-debugnet"); - bitdb.SetDetach(GetBoolArg("-detachdb", false)); - #if !defined(WIN32) && !defined(QT_GUI) fDaemon = GetBoolArg("-daemon"); #else @@ -966,6 +963,7 @@ bool AppInit2() nStart = GetTimeMillis(); { + CAddrDB::SetMessageStart(pchMessageStart); CAddrDB adb; if (!adb.Read(addrman)) printf("Invalid or missing peers.dat; recreating\n"); diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp index ac1b52c..9a2b6dc 100644 --- a/src/qt/bitcoinstrings.cpp +++ b/src/qt/bitcoinstrings.cpp @@ -27,8 +27,6 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "Cannot obtain a lock on data directory %s. NovaCoin is probably already " "running."), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Detach block and address databases. Increases shutdown time (default: 0)"), -QT_TRANSLATE_NOOP("bitcoin-core", "" "Error initializing database environment %s! To recover, BACKUP THAT " "DIRECTORY, then remove everything from it except for wallet.dat."), QT_TRANSLATE_NOOP("bitcoin-core", "" diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index adb6ffb..0f92918 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -158,7 +158,6 @@ void OptionsDialog::setMapper() /* Main */ mapper->addMapping(ui->transactionFee, OptionsModel::Fee); mapper->addMapping(ui->bitcoinAtStartup, OptionsModel::StartAtStartup); - mapper->addMapping(ui->detachDatabases, OptionsModel::DetachDatabases); /* Network */ mapper->addMapping(ui->connectSocks, OptionsModel::ProxyUse); diff --git a/src/qt/optionsdialog.ui b/src/qt/optionsdialog.ui index 7cf60cf..3a068a8 100644 --- a/src/qt/optionsdialog.ui +++ b/src/qt/optionsdialog.ui @@ -91,16 +91,6 @@ - - - Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached. - - - &Detach databases at shutdown - - - - Qt::Vertical diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 386a2cd..cb3b264 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -104,8 +104,6 @@ void OptionsModel::Init() SoftSetArg("-peercollector", settings.value("externalSeeder").toString().toStdString()); } - if (settings.contains("detachDB")) - SoftSetBoolArg("-detachdb", settings.value("detachDB").toBool()); if (!language.isEmpty()) SoftSetArg("-lang", language.toStdString()); } @@ -176,8 +174,6 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const return QVariant(bDisplayAddresses); case ThirdPartyTxUrls: return QVariant(strThirdPartyTxUrls); - case DetachDatabases: - return QVariant(bitdb.GetDetach()); case Language: return settings.value("language", ""); case CoinControlFeatures: @@ -294,12 +290,6 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in bDisplayAddresses = value.toBool(); settings.setValue("bDisplayAddresses", bDisplayAddresses); break; - case DetachDatabases: { - bool fDetachDB = value.toBool(); - bitdb.SetDetach(fDetachDB); - settings.setValue("detachDB", fDetachDB); - } - break; case ThirdPartyTxUrls: if (strThirdPartyTxUrls != value.toString()) { strThirdPartyTxUrls = value.toString(); diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h index 605f821..79b94c8 100644 --- a/src/qt/optionsmodel.h +++ b/src/qt/optionsmodel.h @@ -33,11 +33,10 @@ public: DisplayUnit, // BitcoinUnits::Unit DisplayAddresses, // bool ThirdPartyTxUrls, // QString - DetachDatabases, // bool Language, // QString CoinControlFeatures, // bool ExternalSeeder, // QString - OptionIDRowCount, + OptionIDRowCount }; void Init(); diff --git a/src/walletdb.h b/src/walletdb.h index 44f5825..1f727c1 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -95,4 +95,6 @@ public: static bool Recover(CDBEnv& dbenv, std::string filename); }; +bool BackupWallet(const CWallet& wallet, const std::string& strDest); + #endif // BITCOIN_WALLETDB_H -- 1.7.1