summaryrefslogtreecommitdiff
path: root/src/redismodule.h
diff options
context:
space:
mode:
authorYossi Gottlieb <yossigo@gmail.com>2020-12-09 20:22:45 +0200
committerGitHub <noreply@github.com>2020-12-09 20:22:45 +0200
commit4e064fbab4d310b508593b46ed6ce539aea7aa25 (patch)
tree9ec4d436eec4481b2b82b77430c656aa931849a0 /src/redismodule.h
parentcf3d79d4c10c5ca4e485ce29c288825d582ca067 (diff)
downloadredis-4e064fbab4d310b508593b46ed6ce539aea7aa25.tar.gz
Add module data-type support for COPY. (#8112)
This adds a copy callback for module data types, in order to make modules compatible with the new COPY command. The callback is optional and COPY will fail for keys with data types that do not implement it.
Diffstat (limited to 'src/redismodule.h')
-rw-r--r--src/redismodule.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/redismodule.h b/src/redismodule.h
index 59f568c6f..e4e8b2b3a 100644
--- a/src/redismodule.h
+++ b/src/redismodule.h
@@ -494,6 +494,7 @@ typedef void (*RedisModuleTypeDigestFunc)(RedisModuleDigest *digest, void *value
typedef void (*RedisModuleTypeFreeFunc)(void *value);
typedef size_t (*RedisModuleTypeFreeEffortFunc)(RedisModuleString *key, const void *value);
typedef void (*RedisModuleTypeUnlinkFunc)(RedisModuleString *key, const void *value);
+typedef void *(*RedisModuleTypeCopyFunc)(RedisModuleString *fromkey, RedisModuleString *tokey, const void *value);
typedef void (*RedisModuleClusterMessageReceiver)(RedisModuleCtx *ctx, const char *sender_id, uint8_t type, const unsigned char *payload, uint32_t len);
typedef void (*RedisModuleTimerProc)(RedisModuleCtx *ctx, void *data);
typedef void (*RedisModuleCommandFilterFunc) (RedisModuleCommandFilterCtx *filter);
@@ -516,6 +517,7 @@ typedef struct RedisModuleTypeMethods {
int aux_save_triggers;
RedisModuleTypeFreeEffortFunc free_effort;
RedisModuleTypeUnlinkFunc unlink;
+ RedisModuleTypeCopyFunc copy;
} RedisModuleTypeMethods;
#define REDISMODULE_GET_API(name) \