]> git.saurik.com Git - redis.git/blobdiff - src/debug.c
Remove unused function
[redis.git] / src / debug.c
index 47d4c85df4056f53f8a405ca593d6ed3961e2d4d..c1fc26cf671312786f789daae33d72ee1ace8dc7 100644 (file)
@@ -177,7 +177,26 @@ void computeDatasetDigest(unsigned char *final) {
 void debugCommand(redisClient *c) {
     if (!strcasecmp(c->argv[1]->ptr,"segfault")) {
         *((char*)-1) = 'x';
+    } else if (!strcasecmp(c->argv[1]->ptr,"flushcache")) {
+        if (!server.ds_enabled) {
+            addReplyError(c, "DEBUG FLUSHCACHE called with diskstore off.");
+            return;
+        } else if (server.bgsavethread != (pthread_t) -1) {
+            addReplyError(c, "Can't flush cache while BGSAVE is in progress.");
+            return;
+        } else {
+            /* To flush the whole cache we need to wait for everything to
+             * be flushed on disk... */
+            cacheForcePointInTime();
+            emptyDb();
+            addReply(c,shared.ok);
+            return;
+        }
     } else if (!strcasecmp(c->argv[1]->ptr,"reload")) {
+        if (server.ds_enabled) {
+            addReply(c,shared.ok);
+            return;
+        }
         if (rdbSave(server.dbfilename) != REDIS_OK) {
             addReply(c,shared.err);
             return;
@@ -198,11 +217,12 @@ void debugCommand(redisClient *c) {
         redisLog(REDIS_WARNING,"Append Only File loaded by DEBUG LOADAOF");
         addReply(c,shared.ok);
     } else if (!strcasecmp(c->argv[1]->ptr,"object") && c->argc == 3) {
-        dictEntry *de = dictFind(c->db->dict,c->argv[2]->ptr);
+        dictEntry *de;
         robj *val;
         char *strenc;
 
-        if (!de) {
+        if (server.ds_enabled) lookupKeyRead(c->db,c->argv[2]);
+        if ((de = dictFind(c->db->dict,c->argv[2]->ptr)) == NULL) {
             addReply(c,shared.nokeyerr);
             return;
         }