Delete Table Index In QueryEngine

This commit is contained in:
ZenoWang
2023-08-24 04:48:41 +00:00
committed by ob-robot
parent 5af6f9b31f
commit bcab8c659b
6 changed files with 74 additions and 357 deletions

View File

@ -30,44 +30,6 @@ using namespace oceanbase::keybtree;
using namespace oceanbase::memtable;
using ObQueryEngineIterator = ObQueryEngine::Iterator<BtreeIterator<ObStoreRowkeyWrapper, ObMvccRow *>>;
TEST(TestObQueryEngine, get_and_set_table_index_node)
{
// This is a concurrency scene, use multi-thread test.
constexpr uint64_t TABLE_COUNT_LIMIT = (1 << 14);
constexpr int64_t THREAD_COUNT = 20;
ObModAllocator allocator;
ObQueryEngine qe(allocator);
ObQueryEngine::TableIndex *table_index = nullptr;
uint64_t counter = 0;
int ret = OB_SUCCESS;
ret = qe.init(1);
EXPECT_EQ(OB_SUCCESS, ret);
std::thread threads[THREAD_COUNT];
for (int64_t i = 0; i < THREAD_COUNT; ++i) {
threads[i] = std::thread([&]() {
int ret = OB_SUCCESS;
ObQueryEngine::TableIndex *tmp_ptr = nullptr;
if (OB_FAIL(qe.set_table_index(i, tmp_ptr))) {
TRANS_LOG(WARN, "", KR(ret));
} else {
ATOMIC_AAF(&counter, 1);
ObQueryEngine::TableIndex *cmp_ptr = nullptr;
EXPECT_NE(nullptr, tmp_ptr);
EXPECT_EQ(OB_SUCCESS, qe.get_table_index(cmp_ptr));
EXPECT_EQ(tmp_ptr, cmp_ptr);
}
});
}
for (int64_t i = 0; i < THREAD_COUNT; ++i) {
threads[i].join();
}
EXPECT_EQ(counter, THREAD_COUNT);
}
TEST(TestObQueryEngine, smoke_test)
{
static const int64_t R_COUNT = 6;