]> git.saurik.com Git - redis.git/blobdiff - src/db.c
added known nodes info in CLUSTER INFO
[redis.git] / src / db.c
index 9bc299ca178a275a8eabb1767af7c74c92a4417a..85a220626237ad41c4d1e322f6c95739b7cdf651 100644 (file)
--- a/src/db.c
+++ b/src/db.c
@@ -307,6 +307,10 @@ void existsCommand(redisClient *c) {
 void selectCommand(redisClient *c) {
     int id = atoi(c->argv[1]->ptr);
 
+    if (server.cluster_enabled) {
+        addReplyError(c,"SELECT is not allowed in cluster mode");
+        return;
+    }
     if (selectDb(c,id) == REDIS_ERR) {
         addReplyError(c,"invalid DB index");
     } else {
@@ -428,6 +432,11 @@ void moveCommand(redisClient *c) {
     redisDb *src, *dst;
     int srcid;
 
+    if (server.cluster_enabled) {
+        addReplyError(c,"MOVE is not allowed in cluster mode");
+        return;
+    }
+
     /* Obtain source and target DB pointers */
     src = c->db;
     srcid = c->db->id;
@@ -634,8 +643,9 @@ int *getKeysUsingCommandTable(struct redisCommand *cmd,robj **argv, int argc, in
     keys = zmalloc(sizeof(int)*((last - cmd->firstkey)+1));
     for (j = cmd->firstkey; j <= last; j += cmd->keystep) {
         redisAssert(j < argc);
-        keys[i] = j;
+        keys[i++] = j;
     }
+    *numkeys = i;
     return keys;
 }
 
@@ -665,7 +675,7 @@ int *renameGetKeys(struct redisCommand *cmd,robj **argv, int argc, int *numkeys,
         int *keys = zmalloc(sizeof(int));
         *numkeys = 1;
         keys[0] = 1;
-        return NULL;
+        return keys;
     } else {
         return getKeysUsingCommandTable(cmd,argv,argc,numkeys);
     }
@@ -683,7 +693,7 @@ int *zunionInterGetKeys(struct redisCommand *cmd,robj **argv, int argc, int *num
         *numkeys = 0;
         return NULL;
     }
-    keys = zmalloc(num);
+    keys = zmalloc(sizeof(int)*num);
     for (i = 0; i < num; i++) keys[i] = 3+i;
     *numkeys = num;
     return keys;