mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 00:28:26 -05:00
233abbbe03
* Make it clear that current_client is the root client that was called by external connection * add executing_client which is the client that runs the current command (can be a module or a script) * Remove script_caller that was used for commands that have CLIENT_SCRIPT to get the client that called the script. in most cases, that's the current_client, and in others (when being called from a module), it could be an intermediate client when we actually want the original one used by the external connection. bugfixes: * RM_Call with C flag should log ACL errors with the requested user rather than the one used by the original client, this also solves a crash when RM_Call is used with C flag from a detached thread safe context. * addACLLogEntry would have logged info about the script_caller, but in case the script was issued by a module command we actually want the current_client. the exception is when RM_Call is called from a timer event, in which case we don't have a current_client. behavior changes: * client side tracking for scripts now tracks the keys that are read by the script instead of the keys that are declared by the caller for EVAL other changes: * Log both current_client and executing_client in the crash log. * remove prepareLuaClient and resetLuaClient, being dead code that was forgotten. * remove scriptTimeSnapshot and snapshot_time and instead add cmd_time_snapshot that serves all commands and is reset only when execution nesting starts. * remove code to propagate CLIENT_FORCE_REPL from the executed command to the script caller since scripts aren't propagated anyway these days and anyway this flag wouldn't have had an effect since CLIENT_PREVENT_PROP is added by scriptResetRun. * fix a module GIL violation issue in afterSleep that was introduced in #10300 (unreleased) |
||
---|---|---|
.. | ||
aclcheck.tcl | ||
auth.tcl | ||
basics.tcl | ||
blockedclient.tcl | ||
blockonbackground.tcl | ||
blockonkeys.tcl | ||
cluster.tcl | ||
cmdintrospection.tcl | ||
commandfilter.tcl | ||
datatype2.tcl | ||
datatype.tcl | ||
defrag.tcl | ||
eventloop.tcl | ||
fork.tcl | ||
getchannels.tcl | ||
getkeys.tcl | ||
hash.tcl | ||
hooks.tcl | ||
infotest.tcl | ||
infra.tcl | ||
keyspace_events.tcl | ||
keyspecs.tcl | ||
list.tcl | ||
mallocsize.tcl | ||
misc.tcl | ||
moduleconfigs.tcl | ||
postnotifications.tcl | ||
propagate.tcl | ||
publish.tcl | ||
reply.tcl | ||
scan.tcl | ||
stream.tcl | ||
subcommands.tcl | ||
test_lazyfree.tcl | ||
testrdb.tcl | ||
timer.tcl | ||
usercall.tcl | ||
zset.tcl |