summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/framework/DynamicExtension.h5
-rw-r--r--include/framework/MutableBuffer.h1
-rw-r--r--tests/internal_level_tests.cpp4
3 files changed, 6 insertions, 4 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h
index 5e9bcee..08e2243 100644
--- a/include/framework/DynamicExtension.h
+++ b/include/framework/DynamicExtension.h
@@ -40,7 +40,10 @@ public:
: m_scale_factor(scale_factor)
, m_max_delete_prop(max_delete_prop)
, m_sched(memory_budget, thread_cnt)
- { }
+ {
+ m_buffers.push_back(new Buffer(buffer_cap, max_delete_prop*buffer_cap));
+ m_versions.push_back(new Structure(buffer_cap, scale_factor, max_delete_prop));
+ }
~DynamicExtension() {
for (size_t i=0; i<m_buffers.size(); i++) {
diff --git a/include/framework/MutableBuffer.h b/include/framework/MutableBuffer.h
index cadecb6..572b656 100644
--- a/include/framework/MutableBuffer.h
+++ b/include/framework/MutableBuffer.h
@@ -52,6 +52,7 @@ public:
if (m_data) free(m_data);
if (m_tombstone_filter) delete m_tombstone_filter;
+ if (m_merge_data) free(m_merge_data);
}
template <typename R_ = R>
diff --git a/tests/internal_level_tests.cpp b/tests/internal_level_tests.cpp
index b0dfacb..58369ff 100644
--- a/tests/internal_level_tests.cpp
+++ b/tests/internal_level_tests.cpp
@@ -36,10 +36,8 @@ START_TEST(t_memlevel_merge)
merging_level->append_buffer(tbl2);
ck_assert_int_eq(merging_level->get_record_count(), 100);
- auto old_level = base_level;
- auto new_level = ILevel::merge_levels(old_level, merging_level);
+ auto new_level = ILevel::merge_levels(base_level, merging_level);
- delete old_level;
delete merging_level;
ck_assert_int_eq(new_level->get_record_count(), 200);