guybe7 a84a6160ec 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
..
2020-12-02 17:24:27 +02:00
2020-03-23 12:02:12 +01:00
2016-06-15 11:49:49 +02:00
2020-09-13 13:50:23 +03:00
2015-10-09 09:47:17 +02:00
2010-10-15 12:54:53 +02:00
2020-07-28 10:45:21 +03:00