ldb: add "ldb load" command

Summary: This command accepts key-value pairs from stdin with the same format of "ldb dump" command.  This allows us to try out different compression algorithms/block sizes easily.

Test Plan: dump, load, dump, verify the data is the same.

Reviewers: dhruba

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D7443
This commit is contained in:
Zheng Shao
2012-12-16 17:06:51 -08:00
parent 2585979fd7
commit be9b862d47
3 changed files with 109 additions and 2 deletions

View File

@@ -21,6 +21,11 @@ public:
ret.append(" dump ");
DBDumper::Help(ret);
ret.append("\n--- load ----:\n");
ret.append(exec_name);
ret.append(" load ");
DBLoader::Help(ret);
ret.append("\n---reduce_levels ----:\n");
ret.append(exec_name);
ret.append(" reduce_levels ");
@@ -56,6 +61,9 @@ public:
} else if (strcmp(cmd, "dump") == 0) {
// run dump
cmdObj = new DBDumper(db_name, args);
} else if (strcmp(cmd, "load") == 0) {
// run loader
cmdObj = new DBLoader(db_name, args);
} else if (strcmp(cmd, "reduce_levels") == 0) {
// reduce db levels
cmdObj = new ReduceDBLevels(db_name, args);