redict/tests/unit/moduleapi
guybe7 1df5bb5687
Make sure we do not propagate nested MULTI/EXEC (#8097)
One way this was happening is when a module issued an RM_Call which would inject MULTI.
If the module command that does that was itself issued by something else that already did
added MULTI (e.g. another module, or a Lua script), it would have caused nested MULTI.

In fact the MULTI state in the client or the MULTI_EMITTED flag in the context isn't
the right indication that we need to propagate MULTI or not, because on a nested calls
(possibly a module action called by a keyspace event of another module action), these
flags aren't retained / reflected.

instead there's now a global propagate_in_transaction flag for that.

in addition to that, we now have a global in_eval and in_exec flags, to serve the flags
of RM_GetContextFlags, since their dependence on the current client is wrong for the same
reasons mentioned above.
2020-12-06 13:14:18 +02:00
..
auth.tcl Add module APIs for custom authentication 2019-12-17 06:59:59 +00:00
blockedclient.tcl Adds pub/sub channel patterns to ACL (#7993) 2020-12-01 14:21:39 +02:00
blockonkeys.tcl Try to fix time-sensitive tests in blockonkey.tcl 2020-04-03 14:51:45 +03:00
commandfilter.tcl Add runtest-moduleapi with commandfilter coverage. 2019-03-24 12:03:03 +02:00
datatype.tcl Improve RM_ModuleTypeReplaceValue() API. 2019-12-12 18:50:11 +02:00
fork.tcl fix race in module api test for fork 2020-02-23 16:48:37 +02:00
getkeys.tcl Modules: add RM_GetCommandKeys(). 2020-10-11 16:04:14 +03:00
hooks.tcl Add Swapdb Module Event (#7804) 2020-09-20 13:36:20 +03:00
infotest.tcl Add RM_ServerInfoGetFieldUnsigned 2019-11-04 08:50:29 +02:00
keyspace_events.tcl Make sure we do not propagate nested MULTI/EXEC (#8097) 2020-12-06 13:14:18 +02:00
misc.tcl Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
propagate.tcl Modules: Test MULTI/EXEC replication of RM_Replicate 2020-03-31 13:55:51 +03:00
scan.tcl Fix RM_ScanKey module api not to return int encoded strings 2020-06-14 11:20:15 +03:00
test_lazyfree.tcl Modules callbacks for lazy free effort, and unlink (#7912) 2020-11-16 10:34:04 +02:00
testrdb.tcl test infra - reduce disk space usage 2020-09-06 09:59:19 +03:00
timer.tcl Add timer module API tests. (#8041) 2020-11-11 22:57:33 +02:00