17 Commits

Author SHA1 Message Date
Travis Burtrum
b2ad952932 Add support for unix socket connection to redis (#5179) 2017-02-06 19:10:03 +01:00
nerzhul
b835e29842 Implement DatabaseException for databases 2016-05-17 14:36:51 +02:00
Loic Blot
41392521fe DB::loadBlock copy removal & DB backend cleanup
* Remove the copy from db::loadBlock by using a pointer to the destination
* cleanup db backend, the child backend doesn't have to set their functions as virtual
2016-05-17 06:52:16 +02:00
est31
8b3b5c16f6 Fix redis error reporting
Previously, we assumed that reply->str was NULL
terminated. However, this turned out to be not true,
as users reported crashes in strlen connected to
where reply->str was appended to an std::string.

Use the method recomended by the docs, to read the
length separately.
2016-01-08 15:37:11 +01:00
est31
ed7ec21661 Database backends: fix bug, and small speedup
-> Redis backend: break from switch to fix bug
-> Dummy and redis backends: reserve the count so that creating the list is faster
2015-12-29 00:39:42 +01:00
ShadowNinja
29e8adeadc Use warningstream for log messages with WARNING
Remove DTIME macro and its uses, too
2015-10-14 01:36:48 -04:00
est31
801f7aa7f5 Fix redis erroring on non found blocks
Thanks to @netinetwalker for spotting the error, proposing a fix, and testing it.

Error due to @est31's merging changes to PR #3202 to add more error reporting for invalid reply types, commit:

524a7656e3e5cd671b05c13e2ad69cb84bad0423 "redis: throw error if block request failed"

Now we branch out on the valid reply type "not found".
2015-09-26 23:42:55 +02:00
netinetwalker
cf87a13080 redis: throw error if block request failed
Fixes #3196. Before, we didn't throw an error, and the engine thought the
block isn't occupied. But in fact it might be that redis is still loading,
and the block does exist in the database. The result was a cheesy map.
2015-09-26 17:36:59 +02:00
ShadowNinja
29a0b49c1f Improve Redis error messages 2015-05-06 15:28:22 -04:00
ShadowNinja
2cb27a5fb6 Clean up database API and save the local map on an interval 2015-03-06 00:20:45 -05:00
Loic Blot
5abc50f077 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
2015-02-17 14:35:44 +01:00
kwolekr
66b0d25786 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
ShadowNinja
05254ef0bd Fix build with redis
Broken by 6bc4cad0eddd7a7cf593ca1471599e2d75727379 because database-redis.h
depended on settings.h to include filesys.h.
2014-09-21 21:02:49 -04:00
sfan5
ba889166fd Move MapBlock (de)serializing code out of Database class 2014-07-12 17:38:17 +02:00
kwolekr
77656b0723 Don't unload blocks if save failed
Improve error handling in saveBlock()
2014-07-07 01:20:25 -04:00
sfan5
adf81062eb Fix memory leak in redis backend, fixes #1325 2014-05-23 13:30:58 +02:00
Sfan5
aac43ef809 Add redis database backend 2014-04-16 22:05:06 +02:00