diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-17 14:30:32 +0100 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-17 14:35:44 +0100 |
commit | 718bcafd5174690a7731f9b04873e9a09f7a47b7 (patch) | |
tree | a2414ca7dde34e097bfe6fe2b4d8a1e0701d10fb /src/database-redis.cpp | |
parent | c58d49977da5aab88f5a9d5b540c6237ca5cdcb5 (diff) | |
download | minetest-718bcafd5174690a7731f9b04873e9a09f7a47b7.tar.gz minetest-718bcafd5174690a7731f9b04873e9a09f7a47b7.tar.bz2 minetest-718bcafd5174690a7731f9b04873e9a09f7a47b7.zip |
Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ServerMap::listAllLoadedBlocks and their database backends.
This adds a speedup on database migration and /clearobjects command
Diffstat (limited to 'src/database-redis.cpp')
-rw-r--r-- | src/database-redis.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/database-redis.cpp b/src/database-redis.cpp index b086f899d..0962e97ba 100644 --- a/src/database-redis.cpp +++ b/src/database-redis.cpp @@ -147,7 +147,7 @@ bool Database_Redis::deleteBlock(v3s16 blockpos) return true; } -void Database_Redis::listAllLoadableBlocks(std::list<v3s16> &dst) +void Database_Redis::listAllLoadableBlocks(std::vector<v3s16> &dst) { redisReply *reply; reply = (redisReply*) redisCommand(ctx, "HKEYS %s", hash.c_str()); @@ -155,8 +155,7 @@ void Database_Redis::listAllLoadableBlocks(std::list<v3s16> &dst) throw FileNotGoodException(std::string("redis command 'HKEYS %s' failed: ") + ctx->errstr); if(reply->type != REDIS_REPLY_ARRAY) throw FileNotGoodException("Failed to get keys from database"); - for(size_t i = 0; i < reply->elements; i++) - { + for(size_t i = 0; i < reply->elements; i++) { assert(reply->element[i]->type == REDIS_REPLY_STRING); dst.push_back(getIntegerAsBlock(stoi64(reply->element[i]->str))); } |