Reset sstable in store row iterator reuse
This commit is contained in:
parent
e52ad9bb5f
commit
766bfcf984
@ -1680,7 +1680,7 @@ TEMP_DEF_BOOL(v4.3, enable_table_with_cg, OB_TENANT_PARAMETER, "False",
|
||||
TEMP_DEF_INT(v4.3, encoding_test_seed, OB_CLUSTER_PARAMETER, "0", "[0,)"
|
||||
"The seed is used to test encoding algorithm. The default is 0, indicating that it is not test, the production environment must keep the default value",
|
||||
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
||||
TEMP_DEF_BOOL(v4.3, enable_table_without_all_cg, OB_TENANT_PARAMETER, "False",
|
||||
TEMP_DEF_BOOL(v4.3, enable_table_without_all_cg, OB_TENANT_PARAMETER, "True",
|
||||
"enables creating table without all column_group. The default value is False.",
|
||||
ObParameterAttr(Section::TENANT, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
||||
DEF_BOOL(_enable_prefetch_limiting, OB_TENANT_PARAMETER, "False",
|
||||
|
@ -43,6 +43,7 @@ void ObSSTableRowGetter::reuse()
|
||||
ObStoreRowIterator::reuse();
|
||||
is_opened_ = false;
|
||||
has_fetched_ = false;
|
||||
sstable_ = nullptr;
|
||||
prefetcher_.reuse();
|
||||
read_handle_.reset();
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ void ObSSTableRowMultiGetter::reuse()
|
||||
{
|
||||
ObStoreRowIterator::reuse();
|
||||
is_opened_ = false;
|
||||
sstable_ = nullptr;
|
||||
prefetcher_.reuse();
|
||||
}
|
||||
|
||||
|
@ -49,6 +49,7 @@ void ObSSTableRowScanner<PrefetchType>::reuse()
|
||||
ObStoreRowIterator::reuse();
|
||||
is_opened_ = false;
|
||||
cur_range_idx_ = -1;
|
||||
sstable_ = nullptr;
|
||||
if (nullptr != micro_scanner_) {
|
||||
micro_scanner_->reuse();
|
||||
}
|
||||
|
@ -120,6 +120,8 @@ void ObCGScanner::reuse()
|
||||
if (nullptr != micro_scanner_) {
|
||||
micro_scanner_->reuse();
|
||||
}
|
||||
sstable_ = nullptr;
|
||||
table_wrapper_.reset();
|
||||
query_index_range_.reset();
|
||||
prefetcher_.reuse();
|
||||
is_new_range_ = false;
|
||||
|
@ -39,6 +39,8 @@ void ObCGGetter::reset()
|
||||
void ObCGGetter::reuse()
|
||||
{
|
||||
is_inited_ = false;
|
||||
sstable_ = nullptr;
|
||||
table_wrapper_.reset();
|
||||
is_same_data_block_ = false;
|
||||
prefetcher_.reuse();
|
||||
}
|
||||
@ -85,8 +87,9 @@ int ObCGGetter::init(
|
||||
} else {
|
||||
ObMicroBlockDataHandle µ_handle = prefetcher_.get_last_data_handle();
|
||||
is_same_data_block_ =
|
||||
micro_handle.in_block_state() &&
|
||||
nullptr != sstable_ &&
|
||||
sstable->get_key() == sstable_->get_key() &&
|
||||
micro_handle.in_block_state() &&
|
||||
0 == read_handle_.index_block_info_.get_row_range().compare(idx_key.datums_[0].get_int()) &&
|
||||
micro_handle.match(
|
||||
read_handle_.index_block_info_.get_macro_id(),
|
||||
@ -190,6 +193,7 @@ void ObCGSSTableRowGetter::reuse()
|
||||
{
|
||||
is_inited_ = false;
|
||||
row_.reuse();
|
||||
co_sstable_ = nullptr;
|
||||
ObStoreRowIterator::reuse();
|
||||
}
|
||||
|
||||
|
@ -187,6 +187,7 @@ void ObCOSSTableRowsFilter::reuse()
|
||||
prepared_ = false;
|
||||
subtree_filter_iter_to_locate_ = 0;
|
||||
subtree_filter_iter_to_filter_ = 0;
|
||||
co_sstable_ = nullptr;
|
||||
}
|
||||
|
||||
int ObCOSSTableRowsFilter::apply(const ObCSRange &range)
|
||||
|
Loading…
x
Reference in New Issue
Block a user