]> git.saurik.com Git - redis.git/commitdiff
Write RDB magic using a REDIS_RDB_VERSION define that is defined inside rdb.h
authorantirez <antirez@gmail.com>
Sat, 31 Mar 2012 15:08:40 +0000 (17:08 +0200)
committerantirez <antirez@gmail.com>
Mon, 2 Apr 2012 11:52:42 +0000 (13:52 +0200)
src/rdb.c
src/rdb.h

index 1e23fa70cf392b399806ce9a7086af65114dd7c2..481efe9de8be2fd6ad73762d66dbd9e2f0c69abc 100644 (file)
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -602,6 +602,7 @@ int rdbSave(char *filename) {
     dictIterator *di = NULL;
     dictEntry *de;
     char tmpfile[256];
+    char magic[10];
     int j;
     long long now = mstime();
     FILE *fp;
@@ -616,7 +617,8 @@ int rdbSave(char *filename) {
     }
 
     rioInitWithFile(&rdb,fp);
-    if (rdbWriteRaw(&rdb,"REDIS0004",9) == -1) goto werr;
+    snprintf(magic,sizeof(magic),"REDIS%04d",REDIS_RDB_VERSION);
+    if (rdbWriteRaw(&rdb,magic,9) == -1) goto werr;
 
     for (j = 0; j < server.dbnum; j++) {
         redisDb *db = server.db+j;
index 45beaa93a739332e7476576bbf90ed966bf94d5f..60157ad8740f969af3327f4f7ef446fca7bb4d11 100644 (file)
--- a/src/rdb.h
+++ b/src/rdb.h
@@ -7,6 +7,10 @@
 /* TBD: include only necessary headers. */
 #include "redis.h"
 
+/* The current RDB version. When the format changes in a way that is no longer
+ * backward compatible this number gets incremented. */
+#define REDIS_RDB_VERSION 4
+
 /* Defines related to the dump file format. To store 32 bits lengths for short
  * keys requires a lot of space, so we check the most significant 2 bits of
  * the first byte to interpreter the length: