| 224 | } |
| 225 | |
| 226 | int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) { |
| 227 | REDISMODULE_NOT_USED(argv); |
| 228 | REDISMODULE_NOT_USED(argc); |
| 229 | |
| 230 | if (RedisModule_Init(ctx,"testrdb",1,REDISMODULE_APIVER_1) == REDISMODULE_ERR) |
| 231 | return REDISMODULE_ERR; |
| 232 | |
| 233 | RedisModule_SetModuleOptions(ctx, REDISMODULE_OPTIONS_HANDLE_IO_ERRORS); |
| 234 | |
| 235 | if (argc > 0) |
| 236 | RedisModule_StringToLongLong(argv[0], &conf_aux_count); |
| 237 | |
| 238 | if (conf_aux_count==0) { |
| 239 | RedisModuleTypeMethods datatype_methods = { |
| 240 | .version = 1, |
| 241 | .rdb_load = testrdb_type_load, |
| 242 | .rdb_save = testrdb_type_save, |
| 243 | .aof_rewrite = NULL, |
| 244 | .digest = NULL, |
| 245 | .free = testrdb_type_free, |
| 246 | }; |
| 247 | |
| 248 | testrdb_type = RedisModule_CreateDataType(ctx, "test__rdb", 1, &datatype_methods); |
| 249 | if (testrdb_type == NULL) |
| 250 | return REDISMODULE_ERR; |
| 251 | } else { |
| 252 | RedisModuleTypeMethods datatype_methods = { |
| 253 | .version = REDISMODULE_TYPE_METHOD_VERSION, |
| 254 | .rdb_load = testrdb_type_load, |
| 255 | .rdb_save = testrdb_type_save, |
| 256 | .aof_rewrite = NULL, |
| 257 | .digest = NULL, |
| 258 | .free = testrdb_type_free, |
| 259 | .aux_load = testrdb_aux_load, |
| 260 | .aux_save = testrdb_aux_save, |
| 261 | .aux_save_triggers = (conf_aux_count == 1 ? |
| 262 | REDISMODULE_AUX_AFTER_RDB : |
| 263 | REDISMODULE_AUX_BEFORE_RDB | REDISMODULE_AUX_AFTER_RDB) |
| 264 | }; |
| 265 | |
| 266 | testrdb_type = RedisModule_CreateDataType(ctx, "test__rdb", 1, &datatype_methods); |
| 267 | if (testrdb_type == NULL) |
| 268 | return REDISMODULE_ERR; |
| 269 | } |
| 270 | |
| 271 | if (RedisModule_CreateCommand(ctx,"testrdb.set.before", testrdb_set_before,"deny-oom",0,0,0) == REDISMODULE_ERR) |
| 272 | return REDISMODULE_ERR; |
| 273 | |
| 274 | if (RedisModule_CreateCommand(ctx,"testrdb.get.before", testrdb_get_before,"",0,0,0) == REDISMODULE_ERR) |
| 275 | return REDISMODULE_ERR; |
| 276 | |
| 277 | if (RedisModule_CreateCommand(ctx,"testrdb.set.after", testrdb_set_after,"deny-oom",0,0,0) == REDISMODULE_ERR) |
| 278 | return REDISMODULE_ERR; |
| 279 | |
| 280 | if (RedisModule_CreateCommand(ctx,"testrdb.get.after", testrdb_get_after,"",0,0,0) == REDISMODULE_ERR) |
| 281 | return REDISMODULE_ERR; |
| 282 | |
| 283 | if (RedisModule_CreateCommand(ctx,"testrdb.set.key", testrdb_set_key,"deny-oom",1,1,1) == REDISMODULE_ERR) |
nothing calls this directly
no test coverage detected