]> git.saurik.com Git - redis.git/blobdiff - src/sort.c
Make SORT BY <constant> STORE ... to always produce the same output by force sorting...
[redis.git] / src / sort.c
index 11b73ad389d69f4482d106885875ff7be71d6068..3f02e49a709a4cbf32c6d4ba92480de55d218f05 100644 (file)
@@ -203,6 +203,15 @@ void sortCommand(redisClient *c) {
         j++;
     }
 
+    /* If we have STORE we need to force sorting for deterministic output
+     * and replication. We use alpha sorting since this is guaranteed to
+     * work with any input. */
+    if (storekey && dontsort) {
+        dontsort = 0;
+        alpha = 1;
+        sortby = NULL;
+    }
+
     /* Destructively convert encoded sorted sets for SORT. */
     if (sortval->type == REDIS_ZSET)
         zsetConvert(sortval, REDIS_ENCODING_SKIPLIST);