diff --git a/tools/merge/merge.cc b/tools/merge/merge.cc index 6d20e8e874d02df6076046ec1cb30e0c2f7a318a..52d310036d7acf4f707e3b302f4f1ce1c01b3c14 100644 --- a/tools/merge/merge.cc +++ b/tools/merge/merge.cc @@ -64,12 +64,12 @@ int main(int argc, char* argv[]) { rocksdb::Iterator* it = cur_db->NewIterator(rocksdb::ReadOptions()); for (it->SeekToFirst(); it->Valid(); it->Next()) { - std::string key_s = it->key().ToString(); - std::string val_s = it->value().ToString(); + Slice key_s = it->key(); + Slice val_s = it->value(); std::string val_t; Status s = db->Get(ReadOptions(), key_s, &val_t); if(s.ok()) { - assert(val_t == val_s && "Same key has different value"); + assert(val_t == val_s.ToString() && "Same key has different value"); } else { s = db->Put(WriteOptions(), key_s, val_s); assert(s.ok()); diff --git a/tools/merge/merge_heap.cc b/tools/merge/merge_heap.cc index d89a28a6d5355831ae2c4ca087db633e95fcb3d7..121b393163497b1d86b2c07b576786b22f26d9be 100644 --- a/tools/merge/merge_heap.cc +++ b/tools/merge/merge_heap.cc @@ -33,10 +33,10 @@ namespace fs = std::experimental::filesystem; class node { public: - std::string key; - std::string value; + Slice key; + Slice value; int idx; - node(std::string k, std::string v, int id) { + node(Slice k, Slice v, int id) { key = k; value = v; idx = id; @@ -46,14 +46,14 @@ public: class compare { public: bool operator()(node &a, node &b) { - return a.key < b.key; + return a.key.compare(b.key) <= 0; } }; int main(int argc, char* argv[]) { if(argc != 3) { std::cerr << "Wrong number of arguments\nusage : ./<executable>\ - <folder_having_rocksDB_directories_to_be_merged> <destination_folder>\n"; + <folder_having_rocksDB_directories_to_be_merged> <destination_folder>\n"; exit(0); } @@ -91,15 +91,15 @@ int main(int argc, char* argv[]) { if(!it->Valid()) { continue; } - struct node tnode(it->key().ToString(), it->value().ToString(), counter++); + struct node tnode(it->key(), it->value(), counter++); itVec.push_back(it); pq.push(tnode); } - std::string lastKey = "", lastValue = ""; + Slice lastKey, lastValue; while(!pq.empty()) { - struct node top = pq.top(); + const struct node &top = pq.top(); pq.pop(); if(top.key == lastKey) { @@ -115,7 +115,7 @@ int main(int argc, char* argv[]) { if(!itVec[top.idx]->Valid()) { continue; } - struct node tnode(itVec[top.idx]->key().ToString(), itVec[top.idx]->value().ToString(), top.idx); + struct node tnode(itVec[top.idx]->key(), itVec[top.idx]->value(), top.idx); pq.push(tnode); }