summaryrefslogtreecommitdiff
path: root/src/database-leveldb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database-leveldb.cpp')
-rw-r--r--src/database-leveldb.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/database-leveldb.cpp b/src/database-leveldb.cpp
index 1681b0195..de510e533 100644
--- a/src/database-leveldb.cpp
+++ b/src/database-leveldb.cpp
@@ -80,6 +80,19 @@ std::string Database_LevelDB::loadBlock(v3s16 blockpos)
return "";
}
+bool Database_LevelDB::deleteBlock(v3s16 blockpos)
+{
+ leveldb::Status status = m_database->Delete(leveldb::WriteOptions(),
+ i64tos(getBlockAsInteger(blockpos)));
+ if (!status.ok()) {
+ errorstream << "WARNING: deleteBlock: LevelDB error deleting block "
+ << PP(blockpos) << ": " << status.ToString() << std::endl;
+ return false;
+ }
+
+ return true;
+}
+
void Database_LevelDB::listAllLoadableBlocks(std::list<v3s16> &dst)
{
leveldb::Iterator* it = m_database->NewIterator(leveldb::ReadOptions());