hllSparseAdd(): more correct dense conversion conditional.
We want to promote if the total string size exceeds the resulting size after the upgrade.
This commit is contained in:
parent
b7571b7453
commit
3b20003503
@ -801,7 +801,7 @@ int hllSparseAdd(robj *o, unsigned char *ele, size_t elesize) {
|
||||
int oldlen = is_xzero ? 2 : 1;
|
||||
int deltalen = seqlen-oldlen;
|
||||
|
||||
if (deltalen > 0 && sdslen(o->ptr) > HLL_SPARSE_MAX) goto promote;
|
||||
if (deltalen > 0 && sdslen(o->ptr)+deltalen > HLL_SPARSE_MAX) goto promote;
|
||||
if (deltalen && next) memmove(next+deltalen,next,next-sparse);
|
||||
sdsIncrLen(o->ptr,deltalen);
|
||||
memcpy(p,seq,seqlen);
|
||||
|
Loading…
x
Reference in New Issue
Block a user