MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / activeDefragZsetEntry

Function activeDefragZsetEntry

src/defrag.cpp:264–277  ·  view source on GitHub ↗

Defrag helper for sorted set. * Defrag a single dict entry key name, and corresponding skiplist struct */

Source from the content-addressed store, hash-verified

262/* Defrag helper for sorted set.
263 * Defrag a single dict entry key name, and corresponding skiplist struct */
264long activeDefragZsetEntry(zset *zs, dictEntry *de) {
265 sds newsds;
266 double* newscore;
267 long defragged = 0;
268 sds sdsele = (sds)dictGetKey(de);
269 if ((newsds = activeDefragSds(sdsele)))
270 defragged++, de->key = newsds;
271 newscore = zslDefrag(zs->zsl, *(double*)dictGetVal(de), sdsele, newsds);
272 if (newscore) {
273 dictSetVal(zs->dict, de, newscore);
274 defragged++;
275 }
276 return defragged;
277}
278
279#define DEFRAG_SDS_DICT_NO_VAL 0
280#define DEFRAG_SDS_DICT_VAL_IS_SDS 1

Callers 2

scanLaterZsetCallbackFunction · 0.85
defragZsetSkiplistFunction · 0.85

Calls 2

activeDefragSdsFunction · 0.85
zslDefragFunction · 0.85

Tested by

no test coverage detected