mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
1df5bb5687
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. |
||
---|---|---|
.. | ||
auth.tcl | ||
blockedclient.tcl | ||
blockonkeys.tcl | ||
commandfilter.tcl | ||
datatype.tcl | ||
fork.tcl | ||
getkeys.tcl | ||
hooks.tcl | ||
infotest.tcl | ||
keyspace_events.tcl | ||
misc.tcl | ||
propagate.tcl | ||
scan.tcl | ||
test_lazyfree.tcl | ||
testrdb.tcl | ||
timer.tcl |