Skip to content

Commit

Permalink
fix:zverank return error
Browse files Browse the repository at this point in the history
  • Loading branch information
brother-jin committed Jun 27, 2024
1 parent 3fce772 commit 0f9018c
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/storage/src/redis_lists.cc
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@ Status RedisLists::RPop(const Slice& key, int64_t count, std::vector<std::string
int32_t cur_index = 0;
ListsDataKey lists_data_key(key, version, parsed_lists_meta_value.right_index()-1);
rocksdb::Iterator* iter = db_->NewIterator(default_read_options_, handles_[1]);
for (iter->SeekForPrev(lists_data_key.Encode()); iter->Valid() && cur_index <= stop_index; iter->Prev(), ++cur_index) {
for (iter->SeekForPrev(lists_data_key.Encode()); iter->Valid() && cur_index < stop_index; iter->Prev(), ++cur_index) {
statistic++;
elements->push_back(iter->value().ToString());
batch.Delete(handles_[1],iter->key());
Expand Down
28 changes: 28 additions & 0 deletions tests/integration/zset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1795,6 +1795,34 @@ var _ = Describe("Zset Commands", func() {
}}))
})

It("should ZREVRANK", func() {
err := client.ZAdd(ctx, "key", redis.Z{Score: 100, Member: "a1b2C3d4E5"}).Err()
Expect(err).NotTo(HaveOccurred())

err = client.Del(ctx, "key").Err()
Expect(err).NotTo(HaveOccurred())

err = client.ZAdd(ctx, "key", redis.Z{Score: 101, Member: "F6g7H8i9J0"}).Err()
Expect(err).NotTo(HaveOccurred())

rank, err := client.ZRank(ctx, "key", "a1b2C3d4E5").Result()
Expect(err).To(Equal(redis.Nil))
Expect(rank).To(Equal(int64(0)))

revrank, err := client.ZRevRank(ctx, "key", "a1b2C3d4E5").Result()
Expect(err).To(Equal(redis.Nil))
Expect(revrank).To(Equal(int64(0)))

scanResult, cursor, err := client.ZScan(ctx, "key", 0, "", 10).Result()
Expect(err).NotTo(HaveOccurred())
Expect(cursor).To(Equal(uint64(0)))
Expect(scanResult).To(Equal([]string{"F6g7H8i9J0", "101"}))

card, err := client.ZCard(ctx, "key").Result()
Expect(err).NotTo(HaveOccurred())
Expect(card).To(Equal(int64(1)))
})

//It("should ZRandMember", func() {
// err := client.ZAdd(ctx, "zset", redis.Z{Score: 1, Member: "one"}).Err()
// Expect(err).NotTo(HaveOccurred())
Expand Down

0 comments on commit 0f9018c

Please sign in to comment.