From 1f7600c747442cde2ab33700021f2c9978874fb4 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 26 May 2026 05:58:35 +0200 Subject: Redis 8.8 GA (v8.8.0) Released Mon 25 May 2026 12:00:00 IST --- redis-loadmod.patch | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'redis-loadmod.patch') diff --git a/redis-loadmod.patch b/redis-loadmod.patch index d84a0b2..d4cad41 100644 --- a/redis-loadmod.patch +++ b/redis-loadmod.patch @@ -13,7 +13,7 @@ diff --git a/src/config.c b/src/config.c index 2606d065027..973a31a5100 100644 --- a/src/config.c +++ b/src/config.c -@@ -362,6 +362,7 @@ void queueLoadModule(sds path, sds *argv, int argc) { +@@ -381,6 +381,7 @@ void queueLoadModule(sds path, sds *argv, int argc) { loadmod->argv = argc ? zmalloc(sizeof(robj*)*argc) : NULL; loadmod->path = sdsnew(path); loadmod->argc = argc; @@ -21,7 +21,7 @@ index 2606d065027..973a31a5100 100644 for (i = 0; i < argc; i++) { loadmod->argv[i] = createRawStringObject(argv[i],sdslen(argv[i])); } -@@ -1570,6 +1571,8 @@ void rewriteConfigLoadmoduleOption(struct rewriteConfigState *state) { +@@ -1589,6 +1590,8 @@ void rewriteConfigLoadmoduleOption(struct rewriteConfigState *state) { struct RedisModule *module = dictGetVal(de); /* Internal modules doesn't have path and are not part of the configuration file */ if (sdslen(module->loadmod->path) == 0) continue; @@ -34,7 +34,7 @@ diff --git a/src/module.c b/src/module.c index ab8cafb191a..2d3b8a4eb3e 100644 --- a/src/module.c +++ b/src/module.c -@@ -12333,7 +12333,7 @@ int VectorSets_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc); +@@ -13126,7 +13126,7 @@ int VectorSets_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc); /* Load internal data types that bundled as modules */ void moduleLoadInternalModules(void) { #ifdef INCLUDE_VEC_SETS @@ -43,7 +43,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 serverAssert(retval == C_OK); #endif } -@@ -12354,7 +12354,7 @@ void moduleLoadFromQueue(void) { +@@ -13147,7 +13147,7 @@ void moduleLoadFromQueue(void) { listRewind(server.loadmodule_queue,&li); while((ln = listNext(&li))) { struct moduleLoadQueueEntry *loadmod = ln->value; @@ -52,7 +52,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 == C_ERR) { serverLog(LL_WARNING, -@@ -12543,7 +12543,7 @@ void moduleUnregisterCleanup(RedisModule *module) { +@@ -13336,7 +13336,7 @@ void moduleUnregisterCleanup(RedisModule *module) { /* Load a module by path and initialize it. On success C_OK is returned, otherwise * C_ERR is returned. */ @@ -61,7 +61,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 int (*onload)(void *, void **, int); void *handle; -@@ -12570,12 +12570,12 @@ int moduleLoad(const char *path, void **module_argv, int module_argc, int is_loa +@@ -13363,12 +13363,12 @@ int moduleLoad(const char *path, void **module_argv, int module_argc, int is_loa return C_ERR; } @@ -76,7 +76,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 RedisModuleCtx ctx; moduleCreateContext(&ctx, NULL, REDISMODULE_CTX_TEMP_CLIENT); /* We pass NULL since we don't have a module yet. */ if (onload((void*)&ctx,module_argv,module_argc) == REDISMODULE_ERR) { -@@ -12599,6 +12599,8 @@ int moduleOnLoad(int (*onload)(void *, void **, int), const char *path, void *ha +@@ -13392,6 +13392,8 @@ int moduleOnLoad(int (*onload)(void *, void **, int), const char *path, void *ha ctx.module->loadmod->path = sdsnew(path); ctx.module->loadmod->argv = module_argc ? zmalloc(sizeof(robj*)*module_argc) : NULL; ctx.module->loadmod->argc = module_argc; @@ -85,7 +85,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 for (int i = 0; i < module_argc; i++) { ctx.module->loadmod->argv[i] = module_argv[i]; incrRefCount(ctx.module->loadmod->argv[i]); -@@ -13910,7 +13912,7 @@ NULL +@@ -14706,7 +14708,7 @@ NULL argv = &c->argv[3]; } @@ -94,7 +94,7 @@ index ab8cafb191a..2d3b8a4eb3e 100644 addReply(c,shared.ok); else addReplyError(c, -@@ -13926,7 +13928,7 @@ NULL +@@ -14722,7 +14724,7 @@ NULL /* If this is a loadex command we want to populate server.module_configs_queue with * sds NAME VALUE pairs. We also want to increment argv to just after ARGS, if supplied. */ if (parseLoadexArguments((RedisModuleString ***) &argv, &argc) == REDISMODULE_OK && @@ -107,7 +107,7 @@ diff --git a/src/server.h b/src/server.h index a5cf8a73fe0..d724f09e193 100644 --- a/src/server.h +++ b/src/server.h -@@ -1499,6 +1499,7 @@ struct saveparam { +@@ -1704,6 +1704,7 @@ struct saveparam { struct moduleLoadQueueEntry { sds path; @@ -115,7 +115,7 @@ index a5cf8a73fe0..d724f09e193 100644 int argc; robj **argv; }; -@@ -2745,8 +2746,8 @@ void populateCommandLegacyRangeSpec(struct redisCommand *c); +@@ -3095,8 +3096,8 @@ void populateCommandLegacyRangeSpec(struct redisCommand *c); void moduleInitModulesSystem(void); void moduleInitModulesSystemLast(void); void modulesCron(void); @@ -142,7 +142,7 @@ diff --git a/src/config.c b/src/config.c index 973a31a5100..ea8b8dab55b 100644 --- a/src/config.c +++ b/src/config.c -@@ -354,6 +354,9 @@ void resetServerSaveParams(void) { +@@ -373,6 +373,9 @@ void resetServerSaveParams(void) { server.saveparamslen = 0; } @@ -152,7 +152,7 @@ index 973a31a5100..ea8b8dab55b 100644 void queueLoadModule(sds path, sds *argv, int argc) { int i; struct moduleLoadQueueEntry *loadmod; -@@ -362,7 +365,7 @@ void queueLoadModule(sds path, sds *argv, int argc) { +@@ -381,7 +384,7 @@ void queueLoadModule(sds path, sds *argv, int argc) { loadmod->argv = argc ? zmalloc(sizeof(robj*)*argc) : NULL; loadmod->path = sdsnew(path); loadmod->argc = argc; @@ -161,7 +161,7 @@ index 973a31a5100..ea8b8dab55b 100644 for (i = 0; i < argc; i++) { loadmod->argv[i] = createRawStringObject(argv[i],sdslen(argv[i])); } -@@ -522,7 +525,9 @@ void loadServerConfigFromString(char *config) { +@@ -541,7 +544,9 @@ void loadServerConfigFromString(char *config) { /* Execute config directives */ if (!strcasecmp(argv[0],"include") && argc == 2) { @@ -171,7 +171,7 @@ index 973a31a5100..ea8b8dab55b 100644 } else if (!strcasecmp(argv[0],"rename-command") && argc == 3) { struct redisCommand *cmd = lookupCommandBySds(argv[1]); int retval; -@@ -1572,7 +1577,7 @@ void rewriteConfigLoadmoduleOption(struct rewriteConfigState *state) { +@@ -1591,7 +1596,7 @@ void rewriteConfigLoadmoduleOption(struct rewriteConfigState *state) { /* Internal modules doesn't have path and are not part of the configuration file */ if (sdslen(module->loadmod->path) == 0) continue; /* ignore when loaded from config */ @@ -184,7 +184,7 @@ diff --git a/src/module.c b/src/module.c index 2d3b8a4eb3e..d8c887fcdbf 100644 --- a/src/module.c +++ b/src/module.c -@@ -12354,7 +12354,7 @@ void moduleLoadFromQueue(void) { +@@ -13147,7 +13147,7 @@ void moduleLoadFromQueue(void) { listRewind(server.loadmodule_queue,&li); while((ln = listNext(&li))) { struct moduleLoadQueueEntry *loadmod = ln->value; @@ -193,7 +193,7 @@ index 2d3b8a4eb3e..d8c887fcdbf 100644 == C_ERR) { serverLog(LL_WARNING, -@@ -12543,7 +12543,7 @@ void moduleUnregisterCleanup(RedisModule *module) { +@@ -13336,7 +13336,7 @@ void moduleUnregisterCleanup(RedisModule *module) { /* Load a module by path and initialize it. On success C_OK is returned, otherwise * C_ERR is returned. */ @@ -202,7 +202,7 @@ index 2d3b8a4eb3e..d8c887fcdbf 100644 int (*onload)(void *, void **, int); void *handle; -@@ -12570,12 +12570,12 @@ int moduleLoad(const char *path, void **module_argv, int module_argc, int is_loa +@@ -13363,12 +13363,12 @@ int moduleLoad(const char *path, void **module_argv, int module_argc, int is_loa return C_ERR; } @@ -217,7 +217,7 @@ index 2d3b8a4eb3e..d8c887fcdbf 100644 RedisModuleCtx ctx; moduleCreateContext(&ctx, NULL, REDISMODULE_CTX_TEMP_CLIENT); /* We pass NULL since we don't have a module yet. */ if (onload((void*)&ctx,module_argv,module_argc) == REDISMODULE_ERR) { -@@ -12599,7 +12599,7 @@ int moduleOnLoad(int (*onload)(void *, void **, int), const char *path, void *ha +@@ -13392,7 +13392,7 @@ int moduleOnLoad(int (*onload)(void *, void **, int), const char *path, void *ha ctx.module->loadmod->path = sdsnew(path); ctx.module->loadmod->argv = module_argc ? zmalloc(sizeof(robj*)*module_argc) : NULL; ctx.module->loadmod->argc = module_argc; @@ -230,7 +230,7 @@ diff --git a/src/server.h b/src/server.h index d724f09e193..f3c836c9edc 100644 --- a/src/server.h +++ b/src/server.h -@@ -1499,7 +1499,7 @@ struct saveparam { +@@ -1704,7 +1704,7 @@ struct saveparam { struct moduleLoadQueueEntry { sds path; @@ -239,7 +239,7 @@ index d724f09e193..f3c836c9edc 100644 int argc; robj **argv; }; -@@ -2746,8 +2746,8 @@ void populateCommandLegacyRangeSpec(struct redisCommand *c); +@@ -3096,8 +396,8 @@ void populateCommandLegacyRangeSpec(struct redisCommand *c); void moduleInitModulesSystem(void); void moduleInitModulesSystemLast(void); void modulesCron(void); -- cgit