Oran Agra
d4c24a3067
Module INFO, add support for dict fields, rename API to have common prefix
2019-08-18 09:41:45 +03:00
Oran Agra
b2fce80695
Extend modules API to allow modules report to redis INFO
...
this implements #6012
2019-07-24 12:58:15 +03:00
Salvatore Sanfilippo
985e5b2c60
Merge pull request #6161 from swilly22/redismodule-loading-ctx-flag
...
Extend REDISMODULE_CTX_FLAGS to indicate if redis is loading
2019-07-07 17:01:29 +02:00
Salvatore Sanfilippo
3ffea1c914
Merge pull request #6022 from itamarhaber/RedisModule_ReplyWithCString
...
Adds RedisModule_ReplyWithCString
2019-07-05 20:25:18 +02:00
swilly22
7077d14afe
Extend REDISMODULE_CTX_FLAGS to indicate if redis is currently loading from either RDB or AOF
2019-06-12 15:37:19 +03:00
Yossi Gottlieb
7653918c7a
Preserve client->id for blocked clients.
2019-05-05 20:32:53 +03:00
Itamar Haber
346355edc1
Uses addReplyBulkCString
...
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:38:33 +03:00
Itamar Haber
1b3f0c047a
Adds RedisModule_ReplyWithCString
...
Signed-off-by: Itamar Haber <itamar@redislabs.com>
2019-04-16 17:15:23 +03:00
Salvatore Sanfilippo
f55e492701
Merge pull request #5961 from yossigo/modules-tests
...
Modules tests
2019-04-11 07:56:23 -07:00
antirez
f4ae084e94
Aesthetic change to #5962 to conform to Redis style.
2019-04-10 18:53:35 +02:00
Oran Agra
48d14e5aa7
slave corrupts replication stream when module blocked client uses large reply (or POSTPONED_ARRAY)
...
when redis appends the blocked client reply list to the real client, it didn't
bother to check if it is in fact the master client. so a slave executing that
module command will send replies to the master, causing the master to send the
slave error responses, which will mess up the replication offset
(slave will advance it's replication offset, and the master does not)
2019-03-24 14:17:37 +02:00
Yossi Gottlieb
2d4635b483
fix: missing initialization.
2019-03-24 12:00:33 +02:00
Salvatore Sanfilippo
d415aa89c0
Merge pull request #5944 from yossigo/command-filtering
...
Command Filtering API
2019-03-22 17:43:49 +01:00
Yossi Gottlieb
898677d59e
CommandFilter API: REDISMODULE_CMDFILTER_NOSELF.
...
Add a flag to automatically protect filters from being called
recursively by their own module.
2019-03-21 19:53:12 +02:00
Yossi Gottlieb
b8568a98fd
CommandFilter API: fix UnregisterCommandFilter.
2019-03-21 19:45:41 +02:00
Yossi Gottlieb
c675d44488
CommandFilter API: Add unregister option.
...
A filter handle is returned and can be used to unregister a filter. In
the future it can also be used to further configure or manipulate the
filter.
Filters are now automatically unregistered when a module unloads.
2019-03-21 14:44:49 +02:00
Yossi Gottlieb
1da0d9b04c
CommandFilter API: Extend documentation.
2019-03-19 19:48:47 +02:00
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
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