Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/t_list.c
Original file line number Diff line number Diff line change
Expand Up @@ -559,9 +559,9 @@ void popGenericCommand(client *c, int where) {
quicklistDelRange(o->ptr,rangestart,rangelen);
#ifdef ENABLE_SWAP
if (where == LIST_HEAD)
swapListMetaDelRange(c->db,c->argv[1],-rangelen,0);
swapListMetaDelRange(c->db,c->argv[1],rangelen,0);
else
swapListMetaDelRange(c->db,c->argv[1],0,-rangelen);
swapListMetaDelRange(c->db,c->argv[1],0,rangelen);
listElementsRemoved(c,c->argv[1],where,o,om,rangelen);
#else
listElementsRemoved(c,c->argv[1],where,o,rangelen);
Expand Down
17 changes: 17 additions & 0 deletions tests/swap/ported/unit/type/list.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,21 @@ start_server {
r lpush srclist element
$watching_client read
} {somevalue}

test "check meta len - LPOP" {
r del list1{t}
for {set i 0} {$i < 100} {incr i} {
set entry "entry_$i"
r rpush list1{t} $entry
}
assert_equal 100 [r llen list1{t}]

r swap.evict list1{t}
r LPOP list1{t} 1
assert_equal 99 [r llen list1{t}]

r swap.evict list1{t}
r RPOP list1{t} 2
assert_equal 97 [r llen list1{t}]
}
}
Loading