PokIsemaine commented on code in PR #2262:
URL: https://github.com/apache/kvrocks/pull/2262#discussion_r1581836308
##########
src/commands/cmd_key.cc:
##########
@@ -424,6 +424,111 @@ class CommandCopy : public Commander {
bool replace_ = false;
};
+template <bool ReadOnly>
+class CommandSort : public Commander {
+ public:
+ Status Parse(const std::vector<std::string> &args) override {
+ CommandParser parser(args, 2);
+ while (parser.Good()) {
+ if (parser.EatEqICase("BY")) {
+ if (parser.Remains() < 1) {
+ return parser.InvalidSyntax();
+ }
+ sort_argument_.sortby = GET_OR_RET(parser.TakeStr());
+
+ if (sort_argument_.sortby.find('*') == std::string::npos) {
+ sort_argument_.dontsort = true;
+ } else {
+ /* TODO:
+ * If BY is specified with a real pattern, we can't accept it in
cluster mode,
+ * unless we can make sure the keys formed by the pattern are in the
same slot
+ * as the key to sort.
+ * If BY is specified with a real pattern, we can't accept
+ * it if no full ACL key access is applied for this command. */
Review Comment:
Is there any way to programmatically warn the user without directly aborting
the execution of the command? If an error is reported directly, it basically
means that this parameter cannot be used normally, but what we lack is just a
check under specific circumstances.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]