summaryrefslogtreecommitdiff
path: root/table/table_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'table/table_test.cc')
-rw-r--r--table/table_test.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/table/table_test.cc b/table/table_test.cc
index 4b3e85e..cf2bae0 100644
--- a/table/table_test.cc
+++ b/table/table_test.cc
@@ -319,13 +319,15 @@ class MemTableConstructor: public Constructor {
: Constructor(cmp),
internal_comparator_(cmp) {
memtable_ = new MemTable(internal_comparator_);
+ memtable_->Ref();
}
~MemTableConstructor() {
- delete memtable_;
+ memtable_->Unref();
}
virtual Status FinishImpl(const Options& options, const KVMap& data) {
- delete memtable_;
+ memtable_->Unref();
memtable_ = new MemTable(internal_comparator_);
+ memtable_->Ref();
int seq = 1;
for (KVMap::const_iterator it = data.begin();
it != data.end();
@@ -736,16 +738,17 @@ class MemTableTest { };
TEST(MemTableTest, Simple) {
InternalKeyComparator cmp(BytewiseComparator());
- MemTable memtable(cmp);
+ MemTable* memtable = new MemTable(cmp);
+ memtable->Ref();
WriteBatch batch;
WriteBatchInternal::SetSequence(&batch, 100);
batch.Put(std::string("k1"), std::string("v1"));
batch.Put(std::string("k2"), std::string("v2"));
batch.Put(std::string("k3"), std::string("v3"));
batch.Put(std::string("largekey"), std::string("vlarge"));
- ASSERT_TRUE(WriteBatchInternal::InsertInto(&batch, &memtable).ok());
+ ASSERT_TRUE(WriteBatchInternal::InsertInto(&batch, memtable).ok());
- Iterator* iter = memtable.NewIterator();
+ Iterator* iter = memtable->NewIterator();
iter->SeekToFirst();
while (iter->Valid()) {
fprintf(stderr, "key: '%s' -> '%s'\n",
@@ -755,6 +758,7 @@ TEST(MemTableTest, Simple) {
}
delete iter;
+ memtable->Unref();
}
static bool Between(uint64_t val, uint64_t low, uint64_t high) {