summaryrefslogtreecommitdiff
path: root/src/redismodule.h
Commit message (Collapse)AuthorAgeFilesLines
* Modules: AbortBlock() API implemented.antirez2016-10-131-0/+2
|
* Modules: RM_Milliseconds() API added.antirez2016-10-071-0/+2
|
* Modules: blocking commands WIP: API exported, a first example.antirez2016-10-071-0/+11
|
* Modules: introduce warning suppression macro for unused args.antirez2016-10-071-0/+2
|
* Fix typos in GetContextFromIO API declaration.module-io-contextantirez2016-10-061-3/+2
|
* Module: Ability to get context from IO context.antirez2016-10-061-0/+3
| | | | | | | | | | | | | | | | | | | 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.
* Modules: API to save/load single precision floating point numbers.antirez2016-10-031-0/+4
| | | | | When double precision is not needed, to take 2x space in the serialization is not good.
* Modules: API to log from module I/O callbacks.antirez2016-10-021-0/+2
|
* added RM_CreateStringPrintfDvir Volk2016-09-211-0/+2
|
* Modules: initial draft for a testing module.antirez2016-08-031-0/+2
|
* Modules: StringAppendBuffer() and ability to retain strings.antirez2016-08-021-0/+4
| | | | | | | | | | | | | 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.
* Fix RedisModule_Calloc() definition typo.Yossi Gottlieb2016-06-231-1/+1
|
* Merge pull request #3335 from dvirsky/rm_callocSalvatore Sanfilippo2016-06-231-0/+3
|\ | | | | added RM_Calloc implementation
| * added RM_Calloc implementationDvir Volk2016-06-221-0/+3
| |
* | Merge pull request #3336 from yossigo/create_string_from_stringSalvatore Sanfilippo2016-06-231-0/+2
|\ \ | | | | | | Add RedisModule_CreateStringFromString().
| * | Add RedisModule_CreateStringFromString().Yossi Gottlieb2016-06-221-0/+2
| |/
* | Merge pull request #3330 from yossigo/fix_constSalvatore Sanfilippo2016-06-231-3/+3
|\ \ | | | | | | Use const in Redis Module API where possible.
| * | Use const in Redis Module API where possible.Yossi Gottlieb2016-06-201-3/+3
| |/
* | Modules: changes to logging function.antirez2016-06-231-8/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Add RedisModule_Log() logging API function.Yossi Gottlieb2016-06-231-0/+9
|/
* Remove gcc warning when redismodule.h is included by a multi-fileYossi Gottlieb2016-06-071-0/+1
| | | | module.
* Modules: support for modules native data types.antirez2016-06-031-0/+48
|
* Modules: initial pool allocator and a LEFTPAD usage example.antirez2016-05-141-0/+2
|
* Modules: RM_GetClientId() implemented.antirez2016-05-101-0/+2
|
* Modules: command <-> core interface modified to get flags & keys.antirez2016-05-101-1/+5
|
* Modules: Hash API defines made more uniform.antirez2016-05-101-10/+6
|
* Modules: Hash type API WIP #2.antirez2016-05-101-0/+2
|
* Modules: Hash type API WIP #1.antirez2016-05-101-0/+17
|
* Modules: postponed array lengths.antirez2016-05-101-0/+6
|
* Modules: zset lex iterator #3.antirez2016-05-101-1/+5
|
* Modules: zset iterator redesign #1.antirez2016-05-101-26/+4
|
* Modules: sorted set iterators WIP #3.antirez2016-05-101-0/+4
|
* Modules: sorted set iterators WIP.antirez2016-05-101-0/+40
|
* Modules: ZSET API WIP #4.antirez2016-05-101-1/+3
|
* Modules: ZSET API WIP #3.antirez2016-05-101-0/+6
|
* Modules: ZSET API WIP #2.antirez2016-05-101-0/+7
|
* Modules: expire API and documentation.antirez2016-05-101-0/+9
|
* Modules: RedisModule_ReplyWithCallReply().antirez2016-05-101-0/+2
|
* Modules: RedisModule_ReplyWithNull() implemented.antirez2016-05-101-0/+2
|
* Modules: avoid conflict between modules func pointers and dynamic symbols.antirez2016-05-101-1/+2
| | | | | | | | | | | | | | | | | | | | 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()
* Modules: first preview 31 March 2016.antirez2016-05-101-0/+152