antirez
89e24b8f4a
Modules: initial draft for a testing module.
2016-08-03 10:23:03 +02:00
antirez
5a52229249
Modules: StringAppendBuffer() and ability to retain strings.
...
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.
2016-08-02 15:29:04 +02:00
Salvatore Sanfilippo
8e9eef76bf
Merge pull request #3335 from dvirsky/rm_calloc
...
added RM_Calloc implementation
2016-06-23 16:19:14 +02:00
antirez
2e9fd96c57
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2016-06-23 16:18:57 +02:00
antirez
b98fc4bfee
Actually remove static from #3331 .
...
I forgot -a when amending in the previous commit.
2016-06-23 16:18:30 +02:00
Salvatore Sanfilippo
9df3006aa8
Merge pull request #3336 from yossigo/create_string_from_string
...
Add RedisModule_CreateStringFromString().
2016-06-23 16:16:28 +02:00
antirez
3d42fa5b75
Minor change to conform PR #3331 to Redis code base style.
...
Also avoid "static" in order to have symbols during crashes.
2016-06-23 16:14:16 +02:00
Salvatore Sanfilippo
f3b502da78
Merge pull request #3331 from yossigo/fix_openkey_crash
...
Fix occasional RM_OpenKey() crashes.
2016-06-23 16:12:07 +02:00
Salvatore Sanfilippo
c8cf3a4df6
Merge pull request #3330 from yossigo/fix_const
...
Use const in Redis Module API where possible.
2016-06-23 12:29:52 +02:00
antirez
4900e98d70
Modules: changes to logging function.
...
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.
2016-06-23 12:11:30 +02:00
Yossi Gottlieb
84f1e03f9a
Add RedisModule_Log() logging API function.
2016-06-23 12:01:44 +02:00
antirez
4b8cd3ab71
Commit change in autoMemoryFreed(): first -> last.
...
It's more natural to call the last entry added as "last", the original
commet got me confused until I actually read the code.
2016-06-23 09:38:30 +02:00
antirez
7bc37d864f
Modules: implement zig-zag scanning in autoMemoryFreed().
...
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.
2016-06-23 09:09:51 +02:00
Salvatore Sanfilippo
574fc36d95
Merge pull request #3244 from dvirsky/optimize_autoMemoryFreed
...
Optimized autoMemoryFreed loop
2016-06-23 08:59:38 +02:00
Yossi Gottlieb
159c09f29e
Add RedisModule_CreateStringFromString().
2016-06-22 21:02:40 +03:00
Dvir Volk
bdc079dca4
added RM_Calloc implementation
2016-06-22 17:32:41 +03:00
Yossi Gottlieb
5b5b2f86c5
Cleanup: remove zset reset function from RM_ZsetRangeStop().
2016-06-22 07:34:14 +03:00
Yossi Gottlieb
fa96f33bef
Fix occasional RM_OpenKey() crashes.
2016-06-21 10:22:19 +03:00
Yossi Gottlieb
ce9d66d6e4
Use const in Redis Module API where possible.
2016-06-20 23:08:06 +03:00
antirez
9a02dac2e8
Free module context after loading.
...
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 .
2016-06-13 09:45:53 +02:00
antirez
1ad5c22763
Minor changes to unifor C style to Redis code base for PR #3293 .
2016-06-13 09:39:44 +02:00
Salvatore Sanfilippo
e8d5387a44
Merge pull request #3293 from yossigo/module_config
...
Allow passing arguments to modules on load.
2016-06-13 09:31:59 +02:00
Yossi Gottlieb
87312ff781
Fix MODULE UNLOAD crash and/or wrong error message.
2016-06-05 13:27:38 +03:00
Yossi Gottlieb
cc58f11ccc
Use RedisModuleString for OnLoad argv.
2016-06-05 13:18:24 +03:00
Yossi Gottlieb
2bd13cf0eb
Allow passing arguments to modules on load.
2016-06-05 11:37:24 +03:00
antirez
8ec28002be
Modules: support for modules native data types.
2016-06-03 18:14:04 +02:00
Dvir Volk
137fd86a61
optimized amFree even further
2016-05-19 13:51:55 +03:00
Dvir Volk
46b07cbb5c
Optimized autoMemoryFreed loop
2016-05-19 12:16:14 +03:00
antirez
e3edae957b
Modules: RM_HashSet() SDS ownership business clarified in comments.
...
Related to #3239 .
2016-05-18 16:30:20 +02:00
Dvir Volk
cfaef8d5d4
fixed bad transfer of ownership in HashSet causing a potential crash
2016-05-17 16:47:36 +03:00
antirez
9aff564045
Modules: initial pool allocator and a LEFTPAD usage example.
2016-05-14 19:42:31 +02:00
antirez
646c958bbd
Modules: doc layout improved.
2016-05-10 18:54:58 +02:00
antirez
5daece2ec6
RM_ZsetRangeNext()/Prev() typo in define name leading to crash fixed.
2016-05-10 06:40:11 +02:00
antirez
5f977c3f8b
Modules: commandFlagsFromString() top comment back to 80 cols max.
2016-05-10 06:40:11 +02:00
antirez
ef2b4f6496
Trailing spaces removed from moduleCreateArgvFromUserFormat().
2016-05-10 06:40:11 +02:00
antirez
6250a6b11f
Modules: RM_GetClientId() implemented.
2016-05-10 06:40:11 +02:00
Dvir Volk
9a71df505c
fixed crash when calling CreateStringFromCallReply on array elements
2016-05-10 06:40:11 +02:00
Itamar Haber
3816f16a53
Avoids reallocating and double String on truncate
2016-05-10 06:40:11 +02:00
Dvir Volk
d41bd233d5
fixed comment formatting in RM_CreateCommand
2016-05-10 06:40:10 +02:00
Dvir Volk
a00e872560
another small comment fix
2016-05-10 06:40:10 +02:00
Dvir Volk
87de31f968
fixed comment
2016-05-10 06:40:10 +02:00
Dvir Volk
8fc67080a2
second attempt at vector formtting
2016-05-10 06:40:10 +02:00
antirez
7f5e1340f9
Modules: add ZADD_INCR flag to zset increment API.
2016-05-10 06:40:10 +02:00
Itamar Haber
1186f92b1b
typo: %s/Emtpy/Empty/g
2016-05-10 06:40:10 +02:00
antirez
227d68094b
Modules: command <-> core interface modified to get flags & keys.
2016-05-10 06:40:09 +02:00
Ramon Snir
676a6a4d19
tiny typo in Redis Modules API documentation
2016-05-10 06:40:09 +02:00
Dvir Volk
a1f8e22b79
fixed return value of HashGet (and a slight error in the documentation)
2016-05-10 06:40:09 +02:00
antirez
42f72210fd
Modules: Hash API defines made more uniform.
2016-05-10 06:40:09 +02:00
antirez
9b0556cf10
Modules: Hash type API WIP #2 .
2016-05-10 06:40:09 +02:00
antirez
10993ca0d5
Modules: Hash type API WIP #1 .
2016-05-10 06:40:09 +02:00