PFCOUNT: unshare the object when cached cardinality is modified.
This commit is contained in:
parent
a5ff183cd0
commit
9c81d09f9a
@ -541,6 +541,9 @@ void pfcountCommand(redisClient *c) {
|
|||||||
card |= (uint64_t)registers[REDIS_HLL_SIZE-9] << 56;
|
card |= (uint64_t)registers[REDIS_HLL_SIZE-9] << 56;
|
||||||
} else {
|
} else {
|
||||||
/* Recompute it and update the cached value. */
|
/* Recompute it and update the cached value. */
|
||||||
|
o = dbUnshareStringValue(c->db,c->argv[1],o);
|
||||||
|
registers = o->ptr;
|
||||||
|
|
||||||
card = hllCount(registers);
|
card = hllCount(registers);
|
||||||
registers[REDIS_HLL_SIZE-16] = card & 0xff;
|
registers[REDIS_HLL_SIZE-16] = card & 0xff;
|
||||||
registers[REDIS_HLL_SIZE-15] = (card >> 8) & 0xff;
|
registers[REDIS_HLL_SIZE-15] = (card >> 8) & 0xff;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user