You need to sign in or sign up before continuing.
Commit 520b5a33 authored by antirez's avatar antirez
Browse files

Now list push commands return the length of the new list, thanks to Gustavo Picon

parent 8fe7fad7
......@@ -4075,7 +4075,7 @@ static void pushGenericCommand(redisClient *c, int where) {
lobj = lookupKeyWrite(c->db,c->argv[1]);
if (lobj == NULL) {
if (handleClientsWaitingListPush(c,c->argv[1],c->argv[2])) {
addReply(c,shared.ok);
addReply(c,shared.cone);
return;
}
lobj = createListObject();
......@@ -4094,7 +4094,7 @@ static void pushGenericCommand(redisClient *c, int where) {
return;
}
if (handleClientsWaitingListPush(c,c->argv[1],c->argv[2])) {
addReply(c,shared.ok);
addReply(c,shared.cone);
return;
}
list = lobj->ptr;
......@@ -4106,7 +4106,7 @@ static void pushGenericCommand(redisClient *c, int where) {
incrRefCount(c->argv[2]);
}
server.dirty++;
addReply(c,shared.ok);
addReplySds(c,sdscatprintf(sdsempty(),":%d\r\n",listLength(list)));
}
static void lpushCommand(redisClient *c) {
......
......@@ -406,15 +406,20 @@ proc main {server port} {
} {1}
test {Basic LPUSH, RPUSH, LLENGTH, LINDEX} {
$r lpush mylist a
$r lpush mylist b
$r rpush mylist c
set res [$r llen mylist]
set res [$r lpush mylist a]
append res [$r lpush mylist b]
append res [$r rpush mylist c]
append res [$r llen mylist]
append res [$r rpush anotherlist d]
append res [$r lpush anotherlist e]
append res [$r llen anotherlist]
append res [$r lindex mylist 0]
append res [$r lindex mylist 1]
append res [$r lindex mylist 2]
append res [$r lindex anotherlist 0]
append res [$r lindex anotherlist 1]
list $res [$r lindex mylist 100]
} {3bac {}}
} {1233122baced {}}
test {DEL a list} {
$r del mylist
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment