From caed2155f56d1acefa09b92c240fded4cbc1afd6 Mon Sep 17 00:00:00 2001 From: yixiutt <102007456+yixiutt@users.noreply.github.com> Date: Thu, 16 Mar 2023 15:23:07 +0800 Subject: [PATCH] [test](fix) use vertorized interface in test (#17649) --- be/test/CMakeLists.txt | 4 +-- be/test/olap/ordered_data_compaction_test.cpp | 22 +++++++-------- be/test/vec/olap/vertical_compaction_test.cpp | 27 ++++++++----------- 3 files changed, 23 insertions(+), 30 deletions(-) diff --git a/be/test/CMakeLists.txt b/be/test/CMakeLists.txt index 80699fbf20..5152175200 100644 --- a/be/test/CMakeLists.txt +++ b/be/test/CMakeLists.txt @@ -129,7 +129,7 @@ set(OLAP_TEST_FILES olap/rowid_conversion_test.cpp olap/remote_rowset_gc_test.cpp #olap/segcompaction_test.cpp - #olap/ordered_data_compaction_test.cpp + olap/ordered_data_compaction_test.cpp ) set(RUNTIME_TEST_FILES @@ -269,7 +269,7 @@ set(VEC_TEST_FILES vec/utils/arrow_column_to_doris_column_test.cpp vec/utils/histogram_helpers_test.cpp vec/olap/char_type_padding_test.cpp - #vec/olap/vertical_compaction_test.cpp + vec/olap/vertical_compaction_test.cpp vec/jsonb/serialize_test.cpp ) add_executable(doris_be_test diff --git a/be/test/olap/ordered_data_compaction_test.cpp b/be/test/olap/ordered_data_compaction_test.cpp index e345447220..02ad39e2fb 100644 --- a/be/test/olap/ordered_data_compaction_test.cpp +++ b/be/test/olap/ordered_data_compaction_test.cpp @@ -208,25 +208,24 @@ protected: Status s = RowsetFactory::create_rowset_writer(writer_context, true, &rowset_writer); EXPECT_TRUE(s.ok()); - RowCursor input_row; - input_row.init(tablet_schema); - uint32_t num_rows = 0; for (int i = 0; i < rowset_data.size(); ++i) { - MemPool mem_pool; + vectorized::Block block = tablet_schema->create_block(); + auto columns = block.mutate_columns(); for (int rid = 0; rid < rowset_data[i].size(); ++rid) { - uint32_t c1 = std::get<0>(rowset_data[i][rid]); - uint32_t c2 = std::get<1>(rowset_data[i][rid]); - input_row.set_field_content(0, reinterpret_cast(&c1), &mem_pool); - input_row.set_field_content(1, reinterpret_cast(&c2), &mem_pool); + int32_t c1 = std::get<0>(rowset_data[i][rid]); + int32_t c2 = std::get<1>(rowset_data[i][rid]); + columns[0]->insert_data((const char*)&c1, sizeof(c1)); + columns[1]->insert_data((const char*)&c2, sizeof(c2)); + if (tablet_schema->keys_type() == UNIQUE_KEYS) { uint8_t num = 0; - input_row.set_field_content(2, reinterpret_cast(&num), &mem_pool); + columns[2]->insert_data((const char*)&num, sizeof(num)); } - s = rowset_writer->add_row(input_row); - EXPECT_TRUE(s.ok()); num_rows++; } + s = rowset_writer->add_block(&block); + EXPECT_TRUE(s.ok()); s = rowset_writer->flush(); EXPECT_TRUE(s.ok()); } @@ -414,7 +413,6 @@ TEST_F(OrderedDataCompactionTest, test_01) { reader_context.need_ordered_result = false; std::vector return_columns = {0, 1}; reader_context.return_columns = &return_columns; - reader_context.is_vec = true; RowsetReaderSharedPtr output_rs_reader; LOG(INFO) << "create rowset reader in test"; create_and_init_rowset_reader(out_rowset.get(), reader_context, &output_rs_reader); diff --git a/be/test/vec/olap/vertical_compaction_test.cpp b/be/test/vec/olap/vertical_compaction_test.cpp index 3818020491..88f959c776 100644 --- a/be/test/vec/olap/vertical_compaction_test.cpp +++ b/be/test/vec/olap/vertical_compaction_test.cpp @@ -197,28 +197,27 @@ protected: create_rowset_writer_context(tablet_schema, overlap, UINT32_MAX, &writer_context); std::unique_ptr rowset_writer; - Status s = RowsetFactory::create_rowset_writer(writer_context, true, &rowset_writer); + Status s = RowsetFactory::create_rowset_writer(writer_context, false, &rowset_writer); EXPECT_TRUE(s.ok()); - RowCursor input_row; - input_row.init(tablet_schema); - uint32_t num_rows = 0; for (int i = 0; i < rowset_data.size(); ++i) { - MemPool mem_pool; + vectorized::Block block = tablet_schema->create_block(); + auto columns = block.mutate_columns(); for (int rid = 0; rid < rowset_data[i].size(); ++rid) { - uint32_t c1 = std::get<0>(rowset_data[i][rid]); - uint32_t c2 = std::get<1>(rowset_data[i][rid]); - input_row.set_field_content(0, reinterpret_cast(&c1), &mem_pool); - input_row.set_field_content(1, reinterpret_cast(&c2), &mem_pool); + int32_t c1 = std::get<0>(rowset_data[i][rid]); + int32_t c2 = std::get<1>(rowset_data[i][rid]); + columns[0]->insert_data((const char*)&c1, sizeof(c1)); + columns[1]->insert_data((const char*)&c2, sizeof(c2)); + if (tablet_schema->keys_type() == UNIQUE_KEYS) { uint8_t num = 0; - input_row.set_field_content(2, reinterpret_cast(&num), &mem_pool); + columns[2]->insert_data((const char*)&num, sizeof(num)); } - s = rowset_writer->add_row(input_row); - EXPECT_TRUE(s.ok()); num_rows++; } + s = rowset_writer->add_block(&block); + EXPECT_TRUE(s.ok()); s = rowset_writer->flush(); EXPECT_TRUE(s.ok()); } @@ -484,7 +483,6 @@ TEST_F(VerticalCompactionTest, TestDupKeyVerticalMerge) { reader_context.need_ordered_result = false; std::vector return_columns = {0, 1}; reader_context.return_columns = &return_columns; - reader_context.is_vec = true; RowsetReaderSharedPtr output_rs_reader; LOG(INFO) << "create rowset reader in test"; create_and_init_rowset_reader(out_rowset.get(), reader_context, &output_rs_reader); @@ -592,7 +590,6 @@ TEST_F(VerticalCompactionTest, TestUniqueKeyVerticalMerge) { reader_context.need_ordered_result = false; std::vector return_columns = {0, 1}; reader_context.return_columns = &return_columns; - reader_context.is_vec = true; RowsetReaderSharedPtr output_rs_reader; LOG(INFO) << "create rowset reader in test"; create_and_init_rowset_reader(out_rowset.get(), reader_context, &output_rs_reader); @@ -693,7 +690,6 @@ TEST_F(VerticalCompactionTest, TestDupKeyVerticalMergeWithDelete) { reader_context.need_ordered_result = false; std::vector return_columns = {0, 1}; reader_context.return_columns = &return_columns; - reader_context.is_vec = true; RowsetReaderSharedPtr output_rs_reader; LOG(INFO) << "create rowset reader in test"; create_and_init_rowset_reader(out_rowset.get(), reader_context, &output_rs_reader); @@ -788,7 +784,6 @@ TEST_F(VerticalCompactionTest, TestAggKeyVerticalMerge) { reader_context.need_ordered_result = false; std::vector return_columns = {0, 1}; reader_context.return_columns = &return_columns; - reader_context.is_vec = true; RowsetReaderSharedPtr output_rs_reader; LOG(INFO) << "create rowset reader in test"; create_and_init_rowset_reader(out_rowset.get(), reader_context, &output_rs_reader);