Commit Graph

172 Commits

Author SHA1 Message Date
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
10993ca0d5 Modules: Hash type API WIP #1. 2016-05-10 06:40:09 +02:00
5bf5fd24c6 Modules: a few fixes for the zset iterator. 2016-05-10 06:40:09 +02:00
33e1231e53 Modules: postponed array lengths. 2016-05-10 06:40:09 +02:00
00109e1113 Modules: zset lex iterator #3. 2016-05-10 06:40:09 +02:00
db3ade22eb Modules: zset lex iterator #2. 2016-05-10 06:40:09 +02:00
2b04f86ae5 Modules: zset lex iterator #1. 2016-05-10 06:40:08 +02:00
083f5277c5 Modules: zset iterator redesign #1. 2016-05-10 06:40:08 +02:00
0fd6d548ca Modules: fix top comments to be user-facing doc quality. About 33% done. 2016-05-10 06:40:08 +02:00
f362f7a18a Modules: sorted set iterators WIP #3. 2016-05-10 06:40:08 +02:00