diff options
author | Pieter Wuille <pieter@wuille.net> | 2023-01-30 11:45:14 -0500 |
---|---|---|
committer | Pieter Wuille <pieter@wuille.net> | 2023-01-30 13:13:54 -0500 |
commit | 2e16054a66b0576ec93d4032d6b74f0930a44fef (patch) | |
tree | 2df926aa81a0cadb5964b120352af80dd71fbd44 | |
parent | 941feb6ca28522806c4710f85ae5673abdbdb0b9 (diff) |
Add assertions that BatchWrite(erase=true) erases
-rw-r--r-- | src/coins.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/coins.cpp b/src/coins.cpp index e240136576..31ac67674a 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -250,7 +250,10 @@ bool CCoinsViewCache::BatchWrite(CCoinsMap &mapCoins, const uint256 &hashBlockIn bool CCoinsViewCache::Flush() { bool fOk = base->BatchWrite(cacheCoins, hashBlock, /*erase=*/true); - cacheCoins.clear(); + if (fOk && !cacheCoins.empty()) { + /* BatchWrite must erase all cacheCoins elements when erase=true. */ + throw std::logic_error("Not all cached coins were erased"); + } cachedCoinsUsage = 0; return fOk; } |