13f18d2b17
Modules: handle NULL replies more gracefully.
...
After all crashing at every API misuse makes everybody's life more
complex.
2016-08-03 18:09:36 +02:00
04340e1ff1
Modules: initial draft for a testing module.
2016-08-03 10:23:03 +02:00
7829e4ed2c
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
3a0b776b94
Merge pull request #3335 from dvirsky/rm_calloc
...
added RM_Calloc implementation
2016-06-23 16:19:14 +02:00
c026b5cd3e
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2016-06-23 16:18:57 +02:00
0f484d8312
Actually remove static from #3331 .
...
I forgot -a when amending in the previous commit.
2016-06-23 16:18:30 +02:00
28ea585fce
Merge pull request #3336 from yossigo/create_string_from_string
...
Add RedisModule_CreateStringFromString().
2016-06-23 16:16:28 +02:00
c0ca87dcc0
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
a66dd43331
Merge pull request #3331 from yossigo/fix_openkey_crash
...
Fix occasional RM_OpenKey() crashes.
2016-06-23 16:12:07 +02:00
3d48c93122
Merge pull request #3330 from yossigo/fix_const
...
Use const in Redis Module API where possible.
2016-06-23 12:29:52 +02:00
4b12c6a360
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
715794b829
Add RedisModule_Log() logging API function.
2016-06-23 12:01:44 +02:00
b507289750
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
f2dbc02f65
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
2fe9b79897
Merge pull request #3244 from dvirsky/optimize_autoMemoryFreed
...
Optimized autoMemoryFreed loop
2016-06-23 08:59:38 +02:00
61172ed01e
Add RedisModule_CreateStringFromString().
2016-06-22 21:02:40 +03:00
dc7f3fefad
added RM_Calloc implementation
2016-06-22 17:32:41 +03:00
e22f3e40d5
Cleanup: remove zset reset function from RM_ZsetRangeStop().
2016-06-22 07:34:14 +03:00
a8e2034548
Fix occasional RM_OpenKey() crashes.
2016-06-21 10:22:19 +03:00
8f3a4df775
Use const in Redis Module API where possible.
2016-06-20 23:08:06 +03:00
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
1ad5c22763
Minor changes to unifor C style to Redis code base for PR #3293 .
2016-06-13 09:39:44 +02:00
e8d5387a44
Merge pull request #3293 from yossigo/module_config
...
Allow passing arguments to modules on load.
2016-06-13 09:31:59 +02:00
87312ff781
Fix MODULE UNLOAD crash and/or wrong error message.
2016-06-05 13:27:38 +03:00
cc58f11ccc
Use RedisModuleString for OnLoad argv.
2016-06-05 13:18:24 +03:00
2bd13cf0eb
Allow passing arguments to modules on load.
2016-06-05 11:37:24 +03:00
8ec28002be
Modules: support for modules native data types.
2016-06-03 18:14:04 +02:00
137fd86a61
optimized amFree even further
2016-05-19 13:51:55 +03:00
46b07cbb5c
Optimized autoMemoryFreed loop
2016-05-19 12:16:14 +03:00
e3edae957b
Modules: RM_HashSet() SDS ownership business clarified in comments.
...
Related to #3239 .
2016-05-18 16:30:20 +02:00
cfaef8d5d4
fixed bad transfer of ownership in HashSet causing a potential crash
2016-05-17 16:47:36 +03:00
9aff564045
Modules: initial pool allocator and a LEFTPAD usage example.
2016-05-14 19:42:31 +02:00
646c958bbd
Modules: doc layout improved.
2016-05-10 18:54:58 +02:00
5daece2ec6
RM_ZsetRangeNext()/Prev() typo in define name leading to crash fixed.
2016-05-10 06:40:11 +02:00
5f977c3f8b
Modules: commandFlagsFromString() top comment back to 80 cols max.
2016-05-10 06:40:11 +02:00
ef2b4f6496
Trailing spaces removed from moduleCreateArgvFromUserFormat().
2016-05-10 06:40:11 +02:00
6250a6b11f
Modules: RM_GetClientId() implemented.
2016-05-10 06:40:11 +02:00
9a71df505c
fixed crash when calling CreateStringFromCallReply on array elements
2016-05-10 06:40:11 +02:00
3816f16a53
Avoids reallocating and double String on truncate
2016-05-10 06:40:11 +02:00
d41bd233d5
fixed comment formatting in RM_CreateCommand
2016-05-10 06:40:10 +02:00
a00e872560
another small comment fix
2016-05-10 06:40:10 +02:00
87de31f968
fixed comment
2016-05-10 06:40:10 +02:00
8fc67080a2
second attempt at vector formtting
2016-05-10 06:40:10 +02:00
7f5e1340f9
Modules: add ZADD_INCR flag to zset increment API.
2016-05-10 06:40:10 +02:00
1186f92b1b
typo: %s/Emtpy/Empty/g
2016-05-10 06:40:10 +02:00
227d68094b
Modules: command <-> core interface modified to get flags & keys.
2016-05-10 06:40:09 +02:00
676a6a4d19
tiny typo in Redis Modules API documentation
2016-05-10 06:40:09 +02:00
a1f8e22b79
fixed return value of HashGet (and a slight error in the documentation)
2016-05-10 06:40:09 +02:00
42f72210fd
Modules: Hash API defines made more uniform.
2016-05-10 06:40:09 +02:00
9b0556cf10
Modules: Hash type API WIP #2 .
2016-05-10 06:40:09 +02:00