| 593 | } |
| 594 | |
| 595 | long defragHash(redisDb *db, dictEntry *kde) { |
| 596 | long defragged = 0; |
| 597 | robj *ob = dictGetVal(kde); |
| 598 | dict *d, *newd; |
| 599 | serverAssert(ob->type == OBJ_HASH && ob->encoding == OBJ_ENCODING_HT); |
| 600 | d = ob->ptr; |
| 601 | if (dictSize(d) > server.active_defrag_max_scan_fields) |
| 602 | defragLater(db, kde); |
| 603 | else |
| 604 | defragged += activeDefragSdsDict(d, DEFRAG_SDS_DICT_VAL_IS_SDS); |
| 605 | /* handle the dict struct */ |
| 606 | if ((newd = activeDefragAlloc(ob->ptr))) |
| 607 | defragged++, ob->ptr = newd; |
| 608 | /* defrag the dict tables */ |
| 609 | defragged += dictDefragTables(ob->ptr); |
| 610 | return defragged; |
| 611 | } |
| 612 | |
| 613 | long defragSet(redisDb *db, dictEntry *kde) { |
| 614 | long defragged = 0; |
no test coverage detected