mirror of
https://github.com/minetest/minetest.git
synced 2025-03-06 20:48:40 +01:00
Mark Redis database backend as deprecated (#14679)
This commit is contained in:
parent
a86baefda7
commit
83bc362dac
1 changed files with 19 additions and 2 deletions
|
@ -32,6 +32,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include <hiredis.h>
|
||||
#include <cassert>
|
||||
|
||||
#if VERSION_MAJOR > 5 || VERSION_MINOR > 9
|
||||
#define DEPRECATION_PERIOD_OVER
|
||||
#endif
|
||||
|
||||
Database_Redis::Database_Redis(Settings &conf)
|
||||
{
|
||||
|
@ -66,6 +69,14 @@ Database_Redis::Database_Redis(Settings &conf)
|
|||
}
|
||||
freeReplyObject(reply);
|
||||
}
|
||||
|
||||
warningstream << "/!\\ You are using the deprecated redis backend. "
|
||||
#ifdef DEPRECATION_PERIOD_OVER
|
||||
<< "This backend is only still supported for migrations. /!\\\n"
|
||||
#else
|
||||
<< "This backend will become read-only in the next release. /!\\\n"
|
||||
#endif
|
||||
<< "Please migrate to SQLite3 or PostgreSQL instead." << std::endl;
|
||||
}
|
||||
|
||||
Database_Redis::~Database_Redis()
|
||||
|
@ -73,16 +84,22 @@ Database_Redis::~Database_Redis()
|
|||
redisFree(ctx);
|
||||
}
|
||||
|
||||
void Database_Redis::beginSave() {
|
||||
void Database_Redis::beginSave()
|
||||
{
|
||||
#ifdef DEPRECATION_PERIOD_OVER
|
||||
throw DatabaseException("Redis backend is read-only, see deprecation notice.");
|
||||
#else
|
||||
redisReply *reply = static_cast<redisReply *>(redisCommand(ctx, "MULTI"));
|
||||
if (!reply) {
|
||||
throw DatabaseException(std::string(
|
||||
"Redis command 'MULTI' failed: ") + ctx->errstr);
|
||||
}
|
||||
freeReplyObject(reply);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Database_Redis::endSave() {
|
||||
void Database_Redis::endSave()
|
||||
{
|
||||
redisReply *reply = static_cast<redisReply *>(redisCommand(ctx, "EXEC"));
|
||||
if (!reply) {
|
||||
throw DatabaseException(std::string(
|
||||
|
|
Loading…
Add table
Reference in a new issue