- 13 Oct, 2016 1 commit
-
-
antirez authored
-
- 07 Oct, 2016 3 commits
- 06 Oct, 2016 2 commits
-
-
antirez authored
-
antirez authored
It was noted by @dvirsky that it is not possible to use string functions when writing the AOF file. This sometimes is critical since the command rewriting may need to be built in the context of the AOF callback, and without access to the context, and the limited types that the AOF production functions will accept, this can be an issue. Moreover there are other needs that we can't anticipate regarding the ability to use Redis Modules APIs using the context in order to build representations to emit AOF / RDB. Because of this a new API was added that allows the user to get a temporary context from the IO context. The context is auto released if obtained when the RDB / AOF callback returns. Calling multiple time the function to get the context, always returns the same one, since it is invalid to have more than a single context.
-
- 02 Oct, 2016 2 commits
- 21 Sep, 2016 1 commit
-
-
Dvir Volk authored
-
- 03 Aug, 2016 1 commit
-
-
antirez authored
-
- 02 Aug, 2016 1 commit
-
-
antirez authored
RedisModule_StringRetain() allows, when automatic memory management is on, to keep string objects living after the callback returns. Can also be used in order to use Redis reference counting of objects inside modules. The reason why this is useful is that sometimes when implementing new data types we want to reference RedisModuleString objects inside the module private data structures, so those string objects must be valid after the callback returns even if not referenced inside the Redis key space.
-
- 23 Jun, 2016 3 commits
-
-
Yossi Gottlieb authored
-
antirez authored
This commit changes what provided by PR #3315 (merged) in order to let the user specify the log level as a string. The define could be also used, but when this happens, they must be decoupled from the defines in the Redis core, like in the other part of the Redis modules implementations, so that a switch statement (or a function) remaps between the two, otherwise we are no longer free to change the internal Redis defines.
-
Yossi Gottlieb authored
-
- 22 Jun, 2016 2 commits
-
-
Yossi Gottlieb authored
-
Dvir Volk authored
-
- 20 Jun, 2016 1 commit
-
-
Yossi Gottlieb authored
-
- 07 Jun, 2016 1 commit
-
-
Yossi Gottlieb authored
module.
-
- 03 Jun, 2016 1 commit
-
-
antirez authored
-
- 14 May, 2016 1 commit
-
-
antirez authored
-
- 10 May, 2016 18 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
In modules we fill a set of function pointers defined in redismodule.h, populating a set of APIs that are callable from the module. We use this manual process instead of resorting to dynamic linking so that we have exact control on how we pass the API to the module, and we can even pass different functions for the same name, depending on the API version declared by the module. However if the function pointers in redismodule.h and the functions defined in module.c have the same name, they conflict since the core exports the symbols to the module. There is probably some compiler flags trick to avoid this, but in order to be safer in the future and be more easily compatible with different builidng systems, this commit changes the internal function prefix from RedisModule_ to RM_, so for example: RM_StringSet() will be exported as RedisModule_StringSet()
-
antirez authored
-