diff options
author | Vitaliy <silverunicorn2011@yandex.ru> | 2017-11-09 01:56:20 +0300 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-11-08 23:56:20 +0100 |
commit | 20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f (patch) | |
tree | 67378802190117d8271b3b6d489a92bcb16203b7 /src/database-leveldb.cpp | |
parent | fc9747eb4b7f75e59a28957bc50f7a78256b3d66 (diff) | |
download | hax-minetest-server-20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f.tar.gz hax-minetest-server-20a85d76d94c9c5c7fbe198c3d0e1fbee97a485f.zip |
Move files to subdirectories (#6599)
* Move files around
Diffstat (limited to 'src/database-leveldb.cpp')
-rw-r--r-- | src/database-leveldb.cpp | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/database-leveldb.cpp b/src/database-leveldb.cpp deleted file mode 100644 index 4a4904c6a..000000000 --- a/src/database-leveldb.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/* -Minetest -Copyright (C) 2013 celeron55, Perttu Ahola <celeron55@gmail.com> - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "config.h" - -#if USE_LEVELDB - -#include "database-leveldb.h" - -#include "log.h" -#include "filesys.h" -#include "exceptions.h" -#include "util/string.h" - -#include "leveldb/db.h" - - -#define ENSURE_STATUS_OK(s) \ - if (!(s).ok()) { \ - throw DatabaseException(std::string("LevelDB error: ") + \ - (s).ToString()); \ - } - - -Database_LevelDB::Database_LevelDB(const std::string &savedir) -{ - leveldb::Options options; - options.create_if_missing = true; - leveldb::Status status = leveldb::DB::Open(options, - savedir + DIR_DELIM + "map.db", &m_database); - ENSURE_STATUS_OK(status); -} - -Database_LevelDB::~Database_LevelDB() -{ - delete m_database; -} - -bool Database_LevelDB::saveBlock(const v3s16 &pos, const std::string &data) -{ - leveldb::Status status = m_database->Put(leveldb::WriteOptions(), - i64tos(getBlockAsInteger(pos)), data); - if (!status.ok()) { - warningstream << "saveBlock: LevelDB error saving block " - << PP(pos) << ": " << status.ToString() << std::endl; - return false; - } - - return true; -} - -void Database_LevelDB::loadBlock(const v3s16 &pos, std::string *block) -{ - std::string datastr; - leveldb::Status status = m_database->Get(leveldb::ReadOptions(), - i64tos(getBlockAsInteger(pos)), &datastr); - - *block = (status.ok()) ? datastr : ""; -} - -bool Database_LevelDB::deleteBlock(const v3s16 &pos) -{ - leveldb::Status status = m_database->Delete(leveldb::WriteOptions(), - i64tos(getBlockAsInteger(pos))); - if (!status.ok()) { - warningstream << "deleteBlock: LevelDB error deleting block " - << PP(pos) << ": " << status.ToString() << std::endl; - return false; - } - - return true; -} - -void Database_LevelDB::listAllLoadableBlocks(std::vector<v3s16> &dst) -{ - leveldb::Iterator* it = m_database->NewIterator(leveldb::ReadOptions()); - for (it->SeekToFirst(); it->Valid(); it->Next()) { - dst.push_back(getIntegerAsBlock(stoi64(it->key().ToString()))); - } - ENSURE_STATUS_OK(it->status()); // Check for any errors found during the scan - delete it; -} - -#endif // USE_LEVELDB - |