support strict replace

This commit is contained in:
yongshige
2023-08-08 05:12:15 +00:00
committed by ob-robot
parent 51bb12a3f6
commit a1fa978f84
45 changed files with 559 additions and 129 deletions

View File

@ -12,6 +12,7 @@
#include "../unittest/storage/blocksstable/ob_row_generate.h"
#include "observer/table_load/ob_table_load_partition_location.h"
#include "share/ob_simple_mem_limit_getter.h"
#include "share/table/ob_table_load_define.h"
#include "storage/blocksstable/ob_tmp_file.h"
#include "storage/direct_load/ob_direct_load_sstable_scanner.h"
#include "storage/direct_load/ob_direct_load_sstable_compactor.h"
@ -24,6 +25,7 @@ using namespace blocksstable;
using namespace storage;
using namespace share::schema;
using namespace share;
using namespace table;
static ObSimpleMemLimitGetter getter;
@ -264,6 +266,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan)
ret = file_mgr->init(table_schema_.get_tenant_id());
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -278,7 +281,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan)
ASSERT_EQ(OB_SUCCESS, row->init(allocator_, column_num));
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array.push_back(row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
ret = sstable_builder.close();
@ -404,6 +407,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_range)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -419,7 +423,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_range)
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array.push_back(row);
if (i < 5000) {
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
}
@ -516,6 +520,7 @@ TEST_F(TestDataBlockWriter, test_scan_less_range)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -531,7 +536,7 @@ TEST_F(TestDataBlockWriter, test_scan_less_range)
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array.push_back(row);
if (i >= 5000) {
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
}
@ -632,6 +637,7 @@ TEST_F(TestDataBlockWriter, test_scan_range)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -647,7 +653,7 @@ TEST_F(TestDataBlockWriter, test_scan_range)
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array.push_back(row);
if (i < 5000) {
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
}
@ -768,6 +774,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_large_low)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -789,7 +796,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_large_low)
row->storage_datums_[24].set_string(ObString(value1_size, ptr1));
}
array.push_back(row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
ret = sstable_builder.close();
@ -912,6 +919,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_range_large_low)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -934,7 +942,7 @@ TEST_F(TestDataBlockWriter, test_write_and_scan_range_large_low)
}
array.push_back(row);
if (i < 5000) {
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
}
@ -1010,6 +1018,7 @@ TEST_F(TestDataBlockWriter, test_scan_range_large_low)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -1032,7 +1041,7 @@ TEST_F(TestDataBlockWriter, test_scan_range_large_low)
}
array.push_back(row);
if (i < 5000) {
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
}
@ -1112,6 +1121,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -1130,7 +1140,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact)
ASSERT_EQ(OB_SUCCESS, row->init(allocator_, column_num));
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array1.push_back(row);
ret = sstable_builder1.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder1.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
for (int64_t i = 0; i < test_row_num; ++i) {
@ -1138,7 +1148,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact)
ASSERT_EQ(OB_SUCCESS, row->init(allocator_, column_num));
ASSERT_EQ(OB_SUCCESS, row_generate_.get_next_row(*row));
array2.push_back(row);
ret = sstable_builder2.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder2.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
@ -1310,6 +1320,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact_large_row)
ObDirectLoadSSTableBuildParam param;
ObArray<ObColDesc> col_descs;
ObStorageDatumUtils datum_utils;
ObTableLoadSequenceNo seq_no(0);
ASSERT_EQ(OB_SUCCESS, table_schema_.get_column_ids(col_descs));
ret = datum_utils.init(col_descs, rowkey_column_count, lib::is_oracle_mode(), allocator_);
param.tablet_id_ = table_schema_.get_tablet_id();
@ -1335,7 +1346,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact_large_row)
row->storage_datums_[24].set_string(ObString(value1_size, ptr1));
}
array1.push_back(row);
ret = sstable_builder1.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder1.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}
for (int64_t i = 0; i < test_row_num; ++i) {
@ -1350,7 +1361,7 @@ TEST_F(TestDataBlockWriter, test_write_and_compact_large_row)
row->storage_datums_[24].set_string(ObString(value1_size, ptr1));
}
array2.push_back(row);
ret = sstable_builder2.append_row(table_schema_.get_tablet_id(), *row);
ret = sstable_builder2.append_row(table_schema_.get_tablet_id(), seq_no, *row);
ASSERT_EQ(OB_SUCCESS, ret);
}