dec = createStringObject(buf,strlen(buf));
return dec;
} else {
- redisAssert(1 != 1);
+ redisPanic("Unknown encoding type");
}
}
cmp = strcoll(so1->u.cmpobj->ptr,so2->u.cmpobj->ptr);
}
} else {
- /* Compare elements directly. Note that these objects already
- * need to be non-encoded (see sortCommand). */
- cmp = strcoll(so1->obj->ptr,so2->obj->ptr);
+ /* Compare elements directly. */
+ cmp = compareStringObjects(so1->obj,so2->obj);
}
}
return server.sort_desc ? -cmp : cmp;
}
if (alpha) {
- vector[j].u.cmpobj = getDecodedObject(byval);
+ if (sortby) vector[j].u.cmpobj = getDecodedObject(byval);
} else {
if (byval->encoding == REDIS_ENCODING_RAW) {
vector[j].u.score = strtod(byval->ptr,NULL);
lsort [array names myset]
} {a b c}
+ test {SORT ALPHA against integer encoded strings} {
+ $r del mylist
+ $r lpush mylist 2
+ $r lpush mylist 1
+ $r lpush mylist 3
+ $r lpush mylist 10
+ $r sort mylist alpha
+ } {1 10 2 3}
+
test {Create a random list and a random set} {
set tosort {}
array set seenrand {}