| 1812 | return db->removeExpire(key, itr); |
| 1813 | } |
| 1814 | int redisDbPersistentData::removeExpire(robj *key, dict_iter itr) { |
| 1815 | /* An expire may only be removed if there is a corresponding entry in the |
| 1816 | * main dict. Otherwise, the key will never be freed. */ |
| 1817 | serverAssertWithInfo(NULL,key,itr != nullptr); |
| 1818 | |
| 1819 | robj *val = itr.val(); |
| 1820 | if (!val->FExpires()) |
| 1821 | return 0; |
| 1822 | |
| 1823 | trackkey(key, true /* fUpdate */); |
| 1824 | val->SetFExpires(false); |
| 1825 | serverAssert(m_numexpires > 0); |
| 1826 | m_numexpires--; |
| 1827 | return 1; |
| 1828 | } |
| 1829 | |
| 1830 | int redisDbPersistentData::removeSubkeyExpire(robj *key, robj *subkey) { |
| 1831 | auto de = find(szFromObj(key)); |
no test coverage detected