diff options
author | antirez <antirez@gmail.com> | 2013-08-06 19:01:54 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2013-08-07 11:22:33 +0200 |
commit | 46c1bafeab81412472bf8eeb390f2d71fdc21e99 (patch) | |
tree | 61b58fc596fe1858b1a213318a3a6a97a50195f7 | |
parent | 151ad68540dbf799e1f964ca61fda17a4888ff69 (diff) | |
download | redis-46c1bafeab81412472bf8eeb390f2d71fdc21e99.tar.gz |
redis-benchmark: fix db selection when :rand: feature is used.
-rw-r--r-- | src/redis-benchmark.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c index a1c7b78b6..f53b333b1 100644 --- a/src/redis-benchmark.c +++ b/src/redis-benchmark.c @@ -205,10 +205,16 @@ static void readHandler(aeEventLoop *el, int fd, void *privdata, int mask) { freeReplyObject(reply); if (c->selectlen) { + int j; + /* This is the OK from SELECT. Just discard the SELECT * from the buffer. */ c->pending--; sdsrange(c->obuf,c->selectlen,-1); + /* We also need to fix the pointers to the strings + * we need to randomize. */ + for (j = 0; j < c->randlen; j++) + c->randptr[j] -= c->selectlen; c->selectlen = 0; continue; } |