Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Modules: fixes to the blocking commands API: examples now works. | antirez | 2016-10-07 | 1 | -2/+10 |
| | |||||
* | Modules: RM_Milliseconds() API added. | antirez | 2016-10-07 | 1 | -0/+6 |
| | |||||
* | Modules: blocking commands WIP: API exported, a first example. | antirez | 2016-10-07 | 1 | -2/+21 |
| | |||||
* | Module: API to block clients with threading support. | antirez | 2016-10-07 | 1 | -10/+166 |
| | | | | Just a draft to align the main ideas, never executed code. Compiles. | ||||
* | Module: Ability to get context from IO context. | antirez | 2016-10-06 | 1 | -0/+15 |
| | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Copyright notice added to module.c. | antirez | 2016-10-06 | 1 | -0/+29 |
| | |||||
* | Modules: API to save/load single precision floating point numbers. | antirez | 2016-10-03 | 1 | -0/+27 |
| | | | | | 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. | antirez | 2016-10-02 | 1 | -16/+38 |
| | |||||
* | added RM_CreateStringPrintf | Dvir Volk | 2016-09-21 | 1 | -2/+23 |
| | |||||
* | dict.c: introduce dictUnlink(). | oranagra | 2016-09-14 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | Notes by @antirez: This patch was picked from a larger commit by Oran and adapted to change the API a bit. The basic idea is to avoid double lookups when there is to use the value of the deleted entry. BEFORE: entry = dictFind( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictDelete(...); /* 2nd lookup. */ AFTER: entry = dictUnlink( ... ); /* 1st lookup. */ /* Do somethjing with the entry. */ dictFreeUnlinkedEntry(entry); /* No lookups!. */ | ||||
* | fix memory error on module unload | wyx | 2016-09-09 | 1 | -1/+1 |
| | |||||
* | Modules: handle NULL replies more gracefully. | antirez | 2016-08-03 | 1 | -0/+6 |
| | | | | | After all crashing at every API misuse makes everybody's life more complex. | ||||
* | Modules: initial draft for a testing module. | antirez | 2016-08-03 | 1 | -93/+108 |
| | |||||
* | Modules: StringAppendBuffer() and ability to retain strings. | antirez | 2016-08-02 | 1 | -4/+81 |
| | | | | | | | | | | | | | 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. | ||||
* | Merge pull request #3335 from dvirsky/rm_calloc | Salvatore Sanfilippo | 2016-06-23 | 1 | -1/+10 |
|\ | | | | | added RM_Calloc implementation | ||||
| * | added RM_Calloc implementation | Dvir Volk | 2016-06-22 | 1 | -1/+10 |
| | | |||||
* | | Merge branch 'unstable' of github.com:/antirez/redis into unstable | antirez | 2016-06-23 | 1 | -0/+12 |
|\ \ | |||||
| * \ | Merge pull request #3336 from yossigo/create_string_from_string | Salvatore Sanfilippo | 2016-06-23 | 1 | -0/+12 |
| |\ \ | | | | | | | | | Add RedisModule_CreateStringFromString(). | ||||
| | * | | Add RedisModule_CreateStringFromString(). | Yossi Gottlieb | 2016-06-22 | 1 | -0/+12 |
| | |/ | |||||
* | | | Actually remove static from #3331. | antirez | 2016-06-23 | 1 | -2/+1 |
|/ / | | | | | | | I forgot -a when amending in the previous commit. | ||||
* | | Minor change to conform PR #3331 to Redis code base style. | antirez | 2016-06-23 | 1 | -2/+1 |
| | | | | | | | | Also avoid "static" in order to have symbols during crashes. | ||||
* | | Merge pull request #3331 from yossigo/fix_openkey_crash | Salvatore Sanfilippo | 2016-06-23 | 1 | -6/+13 |
|\ \ | | | | | | | Fix occasional RM_OpenKey() crashes. | ||||
| * | | Cleanup: remove zset reset function from RM_ZsetRangeStop(). | Yossi Gottlieb | 2016-06-22 | 1 | -7/+13 |
| | | | |||||
| * | | Fix occasional RM_OpenKey() crashes. | Yossi Gottlieb | 2016-06-21 | 1 | -0/+1 |
| |/ | |||||
* | | Merge pull request #3330 from yossigo/fix_const | Salvatore Sanfilippo | 2016-06-23 | 1 | -3/+3 |
|\ \ | | | | | | | Use const in Redis Module API where possible. | ||||
| * | | Use const in Redis Module API where possible. | Yossi Gottlieb | 2016-06-20 | 1 | -3/+3 |
| |/ | |||||
* | | Modules: changes to logging function. | antirez | 2016-06-23 | 1 | -6/+23 |
| | | | | | | | | | | | | | | | | | | | | | | 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 Gottlieb | 2016-06-23 | 1 | -0/+25 |
| | | |||||
* | | Commit change in autoMemoryFreed(): first -> last. | antirez | 2016-06-23 | 1 | -1/+2 |
| | | | | | | | | | | It's more natural to call the last entry added as "last", the original commet got me confused until I actually read the code. | ||||
* | | Modules: implement zig-zag scanning in autoMemoryFreed(). | antirez | 2016-06-23 | 1 | -16/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | Most of the time to check the last element is the way to go, however there are patterns where the contrary is the best choice. Zig-zag scanning implemented in this commmit always checks the obvious element first (the last added -- think at a loop where the last element allocated gets freed again and again), and continues checking one element in the head and one in the tail. Thanks to @dvisrky that fixed the original implementation of the function and proposed zig zag scanning. | ||||
* | | Merge pull request #3244 from dvirsky/optimize_autoMemoryFreed | Salvatore Sanfilippo | 2016-06-23 | 1 | -4/+12 |
|\ \ | |/ |/| | Optimized autoMemoryFreed loop | ||||
| * | optimized amFree even further | Dvir Volk | 2016-05-19 | 1 | -4/+9 |
| | | |||||
| * | Optimized autoMemoryFreed loop | Dvir Volk | 2016-05-19 | 1 | -1/+4 |
| | | |||||
* | | Free module context after loading. | antirez | 2016-06-13 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | Now that modules receive RedisModuleString objects on loading, they are allowed to call the String API, so the context must be released correctly. Related to #3293. | ||||
* | | Minor changes to unifor C style to Redis code base for PR #3293. | antirez | 2016-06-13 | 1 | -2/+4 |
| | | |||||
* | | Merge pull request #3293 from yossigo/module_config | Salvatore Sanfilippo | 2016-06-13 | 1 | -10/+18 |
|\ \ | | | | | | | Allow passing arguments to modules on load. | ||||
| * | | Use RedisModuleString for OnLoad argv. | Yossi Gottlieb | 2016-06-05 | 1 | -8/+2 |
| | | | |||||
| * | | Allow passing arguments to modules on load. | Yossi Gottlieb | 2016-06-05 | 1 | -10/+24 |
| | | | |||||
* | | | Fix MODULE UNLOAD crash and/or wrong error message. | Yossi Gottlieb | 2016-06-05 | 1 | -7/+14 |
|/ / | |||||
* | | Modules: support for modules native data types. | antirez | 2016-06-03 | 1 | -4/+505 |
|/ | |||||
* | Modules: RM_HashSet() SDS ownership business clarified in comments. | antirez | 2016-05-18 | 1 | -5/+5 |
| | | | | Related to #3239. | ||||
* | fixed bad transfer of ownership in HashSet causing a potential crash | Dvir Volk | 2016-05-17 | 1 | -4/+7 |
| | |||||
* | Modules: initial pool allocator and a LEFTPAD usage example. | antirez | 2016-05-14 | 1 | -4/+88 |
| | |||||
* | Modules: doc layout improved. | antirez | 2016-05-10 | 1 | -21/+21 |
| | |||||
* | RM_ZsetRangeNext()/Prev() typo in define name leading to crash fixed. | antirez | 2016-05-10 | 1 | -2/+2 |
| | |||||
* | Modules: commandFlagsFromString() top comment back to 80 cols max. | antirez | 2016-05-10 | 1 | -24/+29 |
| | |||||
* | Trailing spaces removed from moduleCreateArgvFromUserFormat(). | antirez | 2016-05-10 | 1 | -4/+4 |
| | |||||
* | Modules: RM_GetClientId() implemented. | antirez | 2016-05-10 | 1 | -0/+17 |
| | |||||
* | fixed crash when calling CreateStringFromCallReply on array elements | Dvir Volk | 2016-05-10 | 1 | -0/+1 |
| | |||||
* | Avoids reallocating and double String on truncate | Itamar Haber | 2016-05-10 | 1 | -18/+17 |
| |