Fix memtable construction in tests
This commit is contained in:
parent
055e6df45b
commit
7f3e417f59
@ -15,7 +15,7 @@ namespace rocksdb {
|
|||||||
static void TestEncodeDecode(const VersionEdit& edit) {
|
static void TestEncodeDecode(const VersionEdit& edit) {
|
||||||
std::string encoded, encoded2;
|
std::string encoded, encoded2;
|
||||||
edit.EncodeTo(&encoded);
|
edit.EncodeTo(&encoded);
|
||||||
VersionEdit parsed();
|
VersionEdit parsed;
|
||||||
Status s = parsed.DecodeFrom(encoded);
|
Status s = parsed.DecodeFrom(encoded);
|
||||||
ASSERT_TRUE(s.ok()) << s.ToString();
|
ASSERT_TRUE(s.ok()) << s.ToString();
|
||||||
parsed.EncodeTo(&encoded2);
|
parsed.EncodeTo(&encoded2);
|
||||||
@ -27,7 +27,7 @@ class VersionEditTest { };
|
|||||||
TEST(VersionEditTest, EncodeDecode) {
|
TEST(VersionEditTest, EncodeDecode) {
|
||||||
static const uint64_t kBig = 1ull << 50;
|
static const uint64_t kBig = 1ull << 50;
|
||||||
|
|
||||||
VersionEdit edit();
|
VersionEdit edit;
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 0; i < 4; i++) {
|
||||||
TestEncodeDecode(edit);
|
TestEncodeDecode(edit);
|
||||||
edit.AddFile(3, kBig + 300 + i, kBig + 400 + i,
|
edit.AddFile(3, kBig + 300 + i, kBig + 400 + i,
|
||||||
|
@ -22,10 +22,11 @@ namespace rocksdb {
|
|||||||
static std::string PrintContents(WriteBatch* b) {
|
static std::string PrintContents(WriteBatch* b) {
|
||||||
InternalKeyComparator cmp(BytewiseComparator());
|
InternalKeyComparator cmp(BytewiseComparator());
|
||||||
auto factory = std::make_shared<SkipListFactory>();
|
auto factory = std::make_shared<SkipListFactory>();
|
||||||
MemTable* mem = new MemTable(cmp, factory.get());
|
Options options;
|
||||||
|
options.memtable_factory = factory;
|
||||||
|
MemTable* mem = new MemTable(cmp, options);
|
||||||
mem->Ref();
|
mem->Ref();
|
||||||
std::string state;
|
std::string state;
|
||||||
Options options;
|
|
||||||
Status s = WriteBatchInternal::InsertInto(b, mem, &options);
|
Status s = WriteBatchInternal::InsertInto(b, mem, &options);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
Iterator* iter = mem->NewIterator();
|
Iterator* iter = mem->NewIterator();
|
||||||
|
@ -370,7 +370,9 @@ class MemTableConstructor: public Constructor {
|
|||||||
: Constructor(cmp),
|
: Constructor(cmp),
|
||||||
internal_comparator_(cmp),
|
internal_comparator_(cmp),
|
||||||
table_factory_(new SkipListFactory) {
|
table_factory_(new SkipListFactory) {
|
||||||
memtable_ = new MemTable(internal_comparator_, table_factory_.get());
|
Options options;
|
||||||
|
options.memtable_factory = table_factory_;
|
||||||
|
memtable_ = new MemTable(internal_comparator_, options);
|
||||||
memtable_->Ref();
|
memtable_->Ref();
|
||||||
}
|
}
|
||||||
~MemTableConstructor() {
|
~MemTableConstructor() {
|
||||||
@ -378,7 +380,9 @@ class MemTableConstructor: public Constructor {
|
|||||||
}
|
}
|
||||||
virtual Status FinishImpl(const Options& options, const KVMap& data) {
|
virtual Status FinishImpl(const Options& options, const KVMap& data) {
|
||||||
delete memtable_->Unref();
|
delete memtable_->Unref();
|
||||||
memtable_ = new MemTable(internal_comparator_, table_factory_.get());
|
Options memtable_options;
|
||||||
|
memtable_options.memtable_factory = table_factory_;
|
||||||
|
memtable_ = new MemTable(internal_comparator_, memtable_options);
|
||||||
memtable_->Ref();
|
memtable_->Ref();
|
||||||
int seq = 1;
|
int seq = 1;
|
||||||
for (KVMap::const_iterator it = data.begin();
|
for (KVMap::const_iterator it = data.begin();
|
||||||
@ -1268,10 +1272,11 @@ class MemTableTest { };
|
|||||||
TEST(MemTableTest, Simple) {
|
TEST(MemTableTest, Simple) {
|
||||||
InternalKeyComparator cmp(BytewiseComparator());
|
InternalKeyComparator cmp(BytewiseComparator());
|
||||||
auto table_factory = std::make_shared<SkipListFactory>();
|
auto table_factory = std::make_shared<SkipListFactory>();
|
||||||
MemTable* memtable = new MemTable(cmp, table_factory.get());
|
Options options;
|
||||||
|
options.memtable_factory = table_factory;
|
||||||
|
MemTable* memtable = new MemTable(cmp, options);
|
||||||
memtable->Ref();
|
memtable->Ref();
|
||||||
WriteBatch batch;
|
WriteBatch batch;
|
||||||
Options options;
|
|
||||||
WriteBatchInternal::SetSequence(&batch, 100);
|
WriteBatchInternal::SetSequence(&batch, 100);
|
||||||
batch.Put(std::string("k1"), std::string("v1"));
|
batch.Put(std::string("k1"), std::string("v1"));
|
||||||
batch.Put(std::string("k2"), std::string("v2"));
|
batch.Put(std::string("k2"), std::string("v2"));
|
||||||
|
Loading…
Reference in New Issue
Block a user