Skip to content
Browse files

zipmap fix for large values

  • Loading branch information...
1 parent db5946f commit ad6de43c800b6511ca96a2ca17848fc6582d85d0 @antirez committed
Showing with 17 additions and 2 deletions.
  1. +13 −0 staticsymbols.h
  2. +2 −1 test-redis.tcl
  3. +1 −1 zipmap.c
  4. +1 −0 zipmap.h
View
13 staticsymbols.h
@@ -3,10 +3,12 @@ static struct redisFunctionSym symsTable[] = {
{"_redisAssert",(unsigned long)_redisAssert},
{"acceptHandler",(unsigned long)acceptHandler},
{"addReply",(unsigned long)addReply},
+{"addReplyBulk",(unsigned long)addReplyBulk},
{"addReplyBulkLen",(unsigned long)addReplyBulkLen},
{"addReplyDouble",(unsigned long)addReplyDouble},
{"addReplyLong",(unsigned long)addReplyLong},
{"addReplySds",(unsigned long)addReplySds},
+{"addReplyUlong",(unsigned long)addReplyUlong},
{"aofRemoveTempFile",(unsigned long)aofRemoveTempFile},
{"appendCommand",(unsigned long)appendCommand},
{"appendServerSaveParams",(unsigned long)appendServerSaveParams},
@@ -21,6 +23,7 @@ static struct redisFunctionSym symsTable[] = {
{"brpopCommand",(unsigned long)brpopCommand},
{"bytesToHuman",(unsigned long)bytesToHuman},
{"call",(unsigned long)call},
+{"checkType",(unsigned long)checkType},
{"closeTimedoutClients",(unsigned long)closeTimedoutClients},
{"compareStringObjects",(unsigned long)compareStringObjects},
{"computeObjectSwappability",(unsigned long)computeObjectSwappability},
@@ -81,6 +84,7 @@ static struct redisFunctionSym symsTable[] = {
{"fwriteBulkObject",(unsigned long)fwriteBulkObject},
{"fwriteBulkString",(unsigned long)fwriteBulkString},
{"genRedisInfoString",(unsigned long)genRedisInfoString},
+{"genericHgetallCommand",(unsigned long)genericHgetallCommand},
{"genericZrangebyscoreCommand",(unsigned long)genericZrangebyscoreCommand},
{"getCommand",(unsigned long)getCommand},
{"getDecodedObject",(unsigned long)getDecodedObject},
@@ -91,9 +95,15 @@ static struct redisFunctionSym symsTable[] = {
{"glueReplyBuffersIfNeeded",(unsigned long)glueReplyBuffersIfNeeded},
{"handleClientsBlockedOnSwappedKey",(unsigned long)handleClientsBlockedOnSwappedKey},
{"handleClientsWaitingListPush",(unsigned long)handleClientsWaitingListPush},
+{"hdelCommand",(unsigned long)hdelCommand},
+{"hexistsCommand",(unsigned long)hexistsCommand},
{"hgetCommand",(unsigned long)hgetCommand},
+{"hgetallCommand",(unsigned long)hgetallCommand},
+{"hkeysCommand",(unsigned long)hkeysCommand},
+{"hlenCommand",(unsigned long)hlenCommand},
{"hsetCommand",(unsigned long)hsetCommand},
{"htNeedsResize",(unsigned long)htNeedsResize},
+{"hvalsCommand",(unsigned long)hvalsCommand},
{"incrCommand",(unsigned long)incrCommand},
{"incrDecrCommand",(unsigned long)incrDecrCommand},
{"incrRefCount",(unsigned long)incrRefCount},
@@ -112,7 +122,9 @@ static struct redisFunctionSym symsTable[] = {
{"lookupKey",(unsigned long)lookupKey},
{"lookupKeyByPattern",(unsigned long)lookupKeyByPattern},
{"lookupKeyRead",(unsigned long)lookupKeyRead},
+{"lookupKeyReadOrReply",(unsigned long)lookupKeyReadOrReply},
{"lookupKeyWrite",(unsigned long)lookupKeyWrite},
+{"lookupKeyWriteOrReply",(unsigned long)lookupKeyWriteOrReply},
{"lpopCommand",(unsigned long)lpopCommand},
{"lpushCommand",(unsigned long)lpushCommand},
{"lrangeCommand",(unsigned long)lrangeCommand},
@@ -274,6 +286,7 @@ static struct redisFunctionSym symsTable[] = {
{"zslInsert",(unsigned long)zslInsert},
{"zslRandomLevel",(unsigned long)zslRandomLevel},
{"zunionCommand",(unsigned long)zunionCommand},
+{"zunionInterBlockClientOnSwappedKeys",(unsigned long)zunionInterBlockClientOnSwappedKeys},
{"zunionInterGenericCommand",(unsigned long)zunionInterGenericCommand},
{NULL,0}
};
View
3 test-redis.tcl
@@ -152,6 +152,7 @@ proc createComplexDataset {r ops} {
} {
$r zadd $k $d $v
} {
+ puts "hset $k $f $v"
$r hset $k $f $v
}
set t [$r type $k]
@@ -178,7 +179,7 @@ proc createComplexDataset {r ops} {
}
{hash} {
randpath {$r hset $k $f $v} \
- {$r hdel $k $f}
+ {puts "$r hdel $k $f"; $r hdel $k $f}
}
}
}
View
2 zipmap.c
@@ -116,7 +116,7 @@ static unsigned int zipmapDecodeLength(unsigned char *p) {
unsigned int len = *p;
if (len < ZIPMAP_BIGLEN) return len;
- memcpy(&len,p,sizeof(unsigned int));
+ memcpy(&len,p+1,sizeof(unsigned int));
return len;
}
View
1 zipmap.h
@@ -43,5 +43,6 @@ unsigned char *zipmapNext(unsigned char *zm, unsigned char **key, unsigned int *
int zipmapGet(unsigned char *zm, unsigned char *key, unsigned int klen, unsigned char **value, unsigned int *vlen);
int zipmapExists(unsigned char *zm, unsigned char *key, unsigned int klen);
unsigned int zipmapLen(unsigned char *zm);
+void zipmapRepr(unsigned char *p);
#endif

0 comments on commit ad6de43

Please sign in to comment.
Something went wrong with that request. Please try again.