Browse Source

Improve detection of STORE in SORT command arguments.

Daniele Alessandri 9 năm trước cách đây
mục cha
commit
4273a2a8b6

+ 1 - 1
src/Command/Processor/KeyPrefixProcessor.php

@@ -338,7 +338,7 @@ class KeyPrefixProcessor implements ProcessorInterface
 
             if (($count = count($arguments)) > 1) {
                 for ($i = 1; $i < $count; ++$i) {
-                    switch ($arguments[$i]) {
+                    switch (strtoupper($arguments[$i])) {
                         case 'BY':
                         case 'STORE':
                             $arguments[$i] = "$prefix{$arguments[++$i]}";

+ 11 - 1
src/Replication/ReplicationStrategy.php

@@ -100,8 +100,18 @@ class ReplicationStrategy
     protected function isSortReadOnly(CommandInterface $command)
     {
         $arguments = $command->getArguments();
+        $argc = count($arguments);
 
-        return ($c = count($arguments)) === 1 ? true : $arguments[$c - 2] !== 'STORE';
+        if ($argc > 1) {
+            for ($i = 1; $i < $argc; $i++) {
+                $argument = strtoupper($arguments[$i]);
+                if ($argument === 'STORE') {
+                    return false;
+                }
+            }
+        }
+
+        return true;
     }
 
     /**