[FEAT MERGE] performance optimzation for OLTP

Co-authored-by: dimstars <liangjinrongcm@gmail.com>
Co-authored-by: pe-99y <315053752@qq.com>
This commit is contained in:
Naynahs
2024-04-10 07:32:27 +00:00
committed by ob-robot
parent 054f5a5a80
commit 3d4ef9741d
177 changed files with 7111 additions and 9708 deletions

View File

@ -61,32 +61,31 @@ TEST(TestObQueryEngine, smoke_test)
};
auto test_scan = [&](int64_t start, bool include_start, int64_t end, bool include_end) {
ObIQueryEngineIterator *iter = nullptr;
ret = qe.scan(mtk[start], !include_start, mtk[end], !include_end, 1, iter);
bool skip_purge_memtable = false;
ret = qe.scan(mtk[start], !include_start, mtk[end], !include_end, iter);
EXPECT_EQ(OB_SUCCESS, ret);
if (start <= end) {
for (int64_t i = (include_start ? start : (start + 1)); i <= (include_end ? end : (end - 1)); i++) {
ret = iter->next(skip_purge_memtable);
ret = iter->next();
EXPECT_EQ(OB_SUCCESS, ret);
assert(0 == mtk[i]->compare(*iter->get_key()));
EXPECT_EQ(&mtv[i], iter->get_value());
}
} else {
for (int64_t i = (include_start ? start : (start - 1)); i >= (include_end ? end : (end + 1)); i--) {
ret = iter->next(skip_purge_memtable);
ret = iter->next();
EXPECT_EQ(OB_SUCCESS, ret);
assert(0 == mtk[i]->compare(*iter->get_key()));
assert(0 == mtk[i]->compare(*iter->get_key()));
EXPECT_EQ(&mtv[i], iter->get_value());
}
}
ret = iter->next(skip_purge_memtable);
ret = iter->next();
EXPECT_EQ(OB_ITER_END, ret);
// if QueryEngine::Iterator returnes ITER_END, inner iter will be freed.
ret = iter->next(skip_purge_memtable);
ret = iter->next();
EXPECT_EQ(OB_ITER_END, ret);
};
ret = qe.init(1);
ret = qe.init();
EXPECT_EQ(OB_SUCCESS, ret);
INIT_MTK(allocator, mtk[0], V("aaaa", 4), I(1024), N("1234567890.01234567890"));