antirez
c026b5cd3e
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2016-06-23 16:18:57 +02:00
antirez
0f484d8312
Actually remove static from #3331 .
...
I forgot -a when amending in the previous commit.
2016-06-23 16:18:30 +02:00
Salvatore Sanfilippo
28ea585fce
Merge pull request #3336 from yossigo/create_string_from_string
...
Add RedisModule_CreateStringFromString().
2016-06-23 16:16:28 +02:00
antirez
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
Salvatore Sanfilippo
a66dd43331
Merge pull request #3331 from yossigo/fix_openkey_crash
...
Fix occasional RM_OpenKey() crashes.
2016-06-23 16:12:07 +02:00
Salvatore Sanfilippo
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
antirez
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
Yossi Gottlieb
715794b829
Add RedisModule_Log() logging API function.
2016-06-23 12:01:44 +02:00
antirez
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
antirez
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
Salvatore Sanfilippo
2fe9b79897
Merge pull request #3244 from dvirsky/optimize_autoMemoryFreed
...
Optimized autoMemoryFreed loop
2016-06-23 08:59:38 +02:00
Yossi Gottlieb
61172ed01e
Add RedisModule_CreateStringFromString().
2016-06-22 21:02:40 +03:00
Dvir Volk
dc7f3fefad
added RM_Calloc implementation
2016-06-22 17:32:41 +03:00
Yossi Gottlieb
e22f3e40d5
Cleanup: remove zset reset function from RM_ZsetRangeStop().
2016-06-22 07:34:14 +03:00
Yossi Gottlieb
a8e2034548
Fix occasional RM_OpenKey() crashes.
2016-06-21 10:22:19 +03:00
Yossi Gottlieb
8f3a4df775
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
antirez
5bf5fd24c6
Modules: a few fixes for the zset iterator.
2016-05-10 06:40:09 +02:00
antirez
33e1231e53
Modules: postponed array lengths.
2016-05-10 06:40:09 +02:00
antirez
00109e1113
Modules: zset lex iterator #3 .
2016-05-10 06:40:09 +02:00
antirez
db3ade22eb
Modules: zset lex iterator #2 .
2016-05-10 06:40:09 +02:00
antirez
2b04f86ae5
Modules: zset lex iterator #1 .
2016-05-10 06:40:08 +02:00
antirez
083f5277c5
Modules: zset iterator redesign #1 .
2016-05-10 06:40:08 +02:00
antirez
0fd6d548ca
Modules: fix top comments to be user-facing doc quality. About 33% done.
2016-05-10 06:40:08 +02:00
antirez
f362f7a18a
Modules: sorted set iterators WIP #3 .
2016-05-10 06:40:08 +02:00
antirez
bdbb5a0253
Modules: put zset iterator current element in auto memory pool.
2016-05-10 06:40:08 +02:00
antirez
6eeeda39e9
Modules: sorted set iterators WIP #2 .
2016-05-10 06:40:08 +02:00
antirez
eac5a13cb7
Modules: sorted set iterators WIP.
2016-05-10 06:40:08 +02:00
antirez
556d593d37
Remove useless space.
2016-05-10 06:40:08 +02:00
antirez
d5ecedd185
Modules: ZSET API WIP #4 .
2016-05-10 06:40:07 +02:00
antirez
e1b34ecf98
Modules: ZSET API WIP #3 .
2016-05-10 06:40:07 +02:00
antirez
4457e4acbe
Modules: ZSET API WIP #2 .
2016-05-10 06:40:07 +02:00
antirez
f199504ac9
Modules: ZSET API WIP.
2016-05-10 06:40:07 +02:00
antirez
11b3df24cb
Modules: expire API and documentation.
2016-05-10 06:40:07 +02:00
antirez
f4e0129fa9
Modules: RedisModule_ReplyWithCallReply().
2016-05-10 06:40:07 +02:00
Sun He
2e464bf0b1
modules/RM_StringTruncate: correct reallocate condition
2016-05-10 06:40:06 +02:00
Sun He
3a7b170205
modules/RM_OpenKey: avoid decrRefCount obj twice
2016-05-10 06:40:06 +02:00
Sun He
1868dee6f2
modules/RM_StringSet: set key->value
2016-05-10 06:40:06 +02:00
Sun He
fded8aa4e5
modules: correct protolen
2016-05-10 06:40:06 +02:00
antirez
4efe9e19c1
Add the last break for consistency in moduleCreateCallReplyFromProto.
2016-05-10 06:40:06 +02:00
Dvir Volk
e453d36e1e
fixed case in moduleCreateCallReplyFromProto
2016-05-10 06:40:06 +02:00
Dvir Volk
ae5cb3f7d5
renamed RedisModule_ReplyWithNull to RM_ReplyWithNull to fix compilation
2016-05-10 06:40:06 +02:00
antirez
2967c00c2c
Modules: RedisModule_ReplyWithNull() implemented.
2016-05-10 06:40:06 +02:00
Yossi Gottlieb
e443ad9c29
Log loadmodule dlopen() errors.
2016-05-10 06:40:06 +02:00
antirez
85919f80ed
Modules: avoid conflict between modules func pointers and dynamic symbols.
...
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()
2016-05-10 06:40:05 +02:00
antirez
6020469452
Modules: remove warnings due to void/function pointer conversion.
2016-05-10 06:40:05 +02:00
antirez
6dead2cff5
Modules: first preview 31 March 2016.
2016-05-10 06:40:05 +02:00