Yossi Gottlieb
5bd8aae664
CommandFilter API: Support Lua and RM_call() flows.
2019-03-18 23:06:38 +02:00
Yossi Gottlieb
fdacd1b0b5
CommandFilter API: More cleanup.
2019-03-18 23:05:52 +02:00
Yossi Gottlieb
bc47c987d6
Add command filtering argument handling API.
2019-03-18 18:36:46 +02:00
Yossi Gottlieb
bb6e8ba682
Initial command filter experiment.
2019-03-18 13:50:34 +02:00
Yossi Gottlieb
dd405d4026
Add RedisModule_GetKeyNameFromIO().
2019-03-15 10:23:27 +02:00
Yossi Gottlieb
3137f26d4c
Add RedisModule_Assert() API call.
2019-03-14 15:00:31 +02:00
antirez
9c504573f1
Improve comments after merging #5834 .
2019-03-14 12:47:36 +01:00
Salvatore Sanfilippo
06339c7f54
Merge pull request #5834 from guybe7/trim_module_sds
...
Trim SDS free space of retained module strings
2019-03-14 12:41:31 +01:00
Salvatore Sanfilippo
1596a57f76
Merge pull request #5694 from guybe7/rm_log_args
...
Check server.verbosity in RM_LogRaw
2019-03-14 11:32:03 +01:00
antirez
4e3f2ab269
Merge branch 'sharedapi' into unstable
2019-03-14 11:24:48 +01:00
swilly22
31625ad5b1
document additional flag of RM_GetContextFlags
2019-03-13 08:22:40 +02:00
swilly22
58bcc05b1d
Extend REDISMODULE_CTX_FLAGS to indicate if command was sent by master
2019-03-11 10:02:19 +02:00
Guy Benoish
9cd3b12cdf
Trim SDS free space of retained module strings
...
In some cases processMultibulkBuffer uses sdsMakeRoomFor to
expand the querybuf, but later in some cases it uses that query
buffer as is for an argv element (see "Optimization"), which means
that the sds in argv may have a lot of wasted space, and then in case
modules keep that argv RedisString inside their data structure, this
space waste will remain for long (until restarted from rdb).
2019-02-12 14:21:21 +01:00
antirez
c68174b5e5
ACL: set modules help clients to the root user.
...
It does not make much sense to limit what modules can do: the admin
should instead limit what module commnads an user may call. So
RedisModule_Call() and other module operations should be able to execute
everything they want: the limitation should be posed by the API exported
by the module itself.
2019-02-01 11:37:28 +01:00
antirez
ee57594c0f
ACL: assign ACL command ID to modules commands.
2019-02-01 08:17:24 +01:00
antirez
89b7b6a917
RESP3: addReplyString() -> addReplyProto().
...
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez
bf3d7bbf31
RESP3: initial implementation of the HELLO command.
2019-01-09 17:00:29 +01:00
antirez
2ff959f8ac
RESP3: module.c updated.
2019-01-09 17:00:29 +01:00
antirez
b91f7656fd
Modules shared API: export new core APIs.
2018-12-20 17:57:49 +01:00
antirez
692f2297b9
Modules shared API: also unregister the module as user.
2018-12-20 17:57:46 +01:00
antirez
f25bcefb82
Modules shared API: prevent unloading of used modules.
2018-12-20 17:57:43 +01:00
antirez
a41459ea5b
Modules shared API: unregister APIs function.
2018-12-20 17:57:40 +01:00
antirez
f7e99b07f3
Modules shared API: initial core functions.
...
Based on ideas and code in PR #5560 by @MeirShpilraien.
2018-12-20 17:57:35 +01:00
antirez
ea2d253238
Revert shared APIs to modify the design.
2018-12-20 17:56:38 +01:00
MeirShpilraien
2a907e7d00
added module ability to register api to be used by other modules
2018-12-20 17:55:18 +01:00
Guy Benoish
8e9c96adc2
Check server.verbosity in RM_LogRaw
2018-12-13 13:57:38 +01:00
Hamid Alaei
602351f2a1
fix timer context selected database
2018-10-04 17:02:10 +03:30
Hamid Alaei
95cc968672
fix dict get on not found
2018-10-01 13:57:25 +03:30
antirez
cda734caff
Modules: Modules: dictionary API WIP #13 : Compare API exported.
2018-09-27 11:46:22 +02:00
antirez
c50d4543cd
Modules: Modules: dictionary API WIP #12 : DictCompare API.
2018-09-27 11:44:25 +02:00
antirez
9b6124ab33
Modules: Modules: dictionary API WIP #11 : DictCompareC API.
2018-09-27 11:44:16 +02:00
antirez
205998ae7e
Modules: dictionary API WIP #10 : export API to modules.
2018-09-26 13:39:01 +02:00
antirez
3d519b053b
Modules: dictionary API WIP #9 : iterator returning string object.
2018-09-25 16:49:46 +02:00
antirez
b3f7937338
Modules: dictionary API WIP #8 : Iterator next/prev.
2018-09-25 16:25:46 +02:00
antirez
7cbb6c9991
Modules: dictionary API WIP #7 : don't store the context.
...
Storing the context is useless, because we can't really reuse that
later. For instance in the API RM_DictNext() that returns a
RedisModuleString for the next key iterated, the user should pass the
new context, because we may run the keys of the dictionary in a
different context of the one where the dictionary was created. Also the
dictionary may be created without a context, but we may still demand
automatic memory management for the returned strings while iterating.
2018-09-25 12:58:16 +02:00
antirez
bfe5d08d99
Modules: dictionary API WIP #6 : implement automatic memory management.
2018-09-25 12:45:08 +02:00
antirez
7e2e9e8ff0
Modules: dictionary API work in progress #5 : rename API for consistency.
...
By using the "C" suffix for functions getting pointer/len, we can do the
same in the future for other modules APIs that need a variant with
pointer/len and that are now accepting a RedisModuleString.
2018-09-25 12:31:46 +02:00
antirez
c3ecfc8c55
Modules: change RedisModuleString API to allow NULL context.
...
The burden of having to always create RedisModuleString objects within a
module context was too much, especially now that we have threaded
operations and modules are doing more interesting things. The context in
the string API is currently only used for automatic memory managemnet,
so now the API was modified so that the user can opt-out this feature by
passing a NULL context.
2018-09-24 17:20:00 +02:00
antirez
3d49adf211
Modules: dictionary API work in progress #4 : reseek API.
2018-09-24 16:43:47 +02:00
antirez
9825f168fa
Modules: dictionary API work in progress #3 : Iterator creation.
2018-09-24 11:44:49 +02:00
antirez
8e6a1909aa
Modules: dictionary API work in progress #2 : Del API.
2018-09-24 11:16:58 +02:00
antirez
3480bebb3c
Modules: dictionary API work in progress #1 .
2018-09-21 17:54:09 +02:00
antirez
d174bc8269
Module cluster flags: use RM_SetClusterFlags() in the example.
2018-09-19 16:17:20 +02:00
antirez
587db27252
Module cluster flags: add RM_SetClusterFlags() API.
2018-09-19 12:02:37 +02:00
antirez
2a311bcf6a
Modules: rename the reused static client to something more general.
2018-09-18 13:22:05 +02:00
antirez
645f017e3f
Modules: associate a fake client to timer context callback.
2018-09-18 13:19:33 +02:00
antirez
c79bc87f2d
Modules: associate a fake client to cluster message context callback.
...
Fixes #5354 .
2018-09-18 13:15:40 +02:00
Guy Korland
ff49dbe423
Merge pull request #1 from gkorland/patch-5
...
Fix few typos
2018-09-17 14:15:39 +03:00
Guy Korland
132f66f91c
Fix few typos
2018-09-17 14:13:46 +03:00
Guy Korland
aff374c809
RedisModule_HashSet call must end with NULL
...
Extended the RedisModule_HashSet doc to mark that each call must end with NULL
2018-09-17 13:54:56 +03:00