Remove all the keys in the specified hash slot. * The number of removed items is returned. */
| 1984 | /* Remove all the keys in the specified hash slot. |
| 1985 | * The number of removed items is returned. */ |
| 1986 | unsigned int delKeysInSlot(unsigned int hashslot) { |
| 1987 | raxIterator iter; |
| 1988 | int j = 0; |
| 1989 | unsigned char indexed[2]; |
| 1990 | |
| 1991 | indexed[0] = (hashslot >> 8) & 0xff; |
| 1992 | indexed[1] = hashslot & 0xff; |
| 1993 | raxStart(&iter,server.cluster->slots_to_keys); |
| 1994 | while(server.cluster->slots_keys_count[hashslot]) { |
| 1995 | raxSeek(&iter,">=",indexed,2); |
| 1996 | raxNext(&iter); |
| 1997 | |
| 1998 | robj *key = createStringObject((char*)iter.key+2,iter.key_len-2); |
| 1999 | dbDelete(&server.db[0],key); |
| 2000 | decrRefCount(key); |
| 2001 | j++; |
| 2002 | } |
| 2003 | raxStop(&iter); |
| 2004 | return j; |
| 2005 | } |
| 2006 | |
| 2007 | unsigned int countKeysInSlot(unsigned int hashslot) { |
| 2008 | return server.cluster->slots_keys_count[hashslot]; |
no test coverage detected