mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	Mark Redis database backend as deprecated (#14679)
This commit is contained in:
		@@ -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(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user