fix some optimizer stat bugs

This commit is contained in:
wangt1xiuyi
2023-05-19 02:46:44 +00:00
committed by ob-robot
parent 1f0fc4d4bb
commit 2d02db08cf
21 changed files with 186 additions and 101 deletions

View File

@ -107,7 +107,7 @@ int ObDirectLoadFastHeapTableBuilder::collect_obj(const ObDatumRow &datum_row)
i + extra_rowkey_cnt + 1).get_cmp_func();
const ObColDesc &col_desc = param_.col_descs_->at(i + 1);
ObOptOSGColumnStat *col_stat = column_stat_array_.at(i);
bool is_valid = ObColumnStatParam::is_valid_histogram_type(col_desc.col_type_.get_type());
bool is_valid = ObColumnStatParam::is_valid_opt_col_type(col_desc.col_type_.get_type());
if (col_stat != nullptr && is_valid) {
if (OB_FAIL(col_stat->update_column_stat_info(&datum,
col_desc.col_type_,

View File

@ -154,7 +154,7 @@ int ObDirectLoadPartitionMergeTask::collect_obj(const ObDatumRow &datum_row)
i + extra_rowkey_cnt + 1).get_cmp_func();
const ObColDesc &col_desc = merge_param_->col_descs_->at(i + 1);
ObOptOSGColumnStat *col_stat = column_stat_array_.at(i);
bool is_valid = ObColumnStatParam::is_valid_histogram_type(col_desc.col_type_.get_type());
bool is_valid = ObColumnStatParam::is_valid_opt_col_type(col_desc.col_type_.get_type());
if (col_stat != nullptr && is_valid) {
if (OB_FAIL(col_stat->update_column_stat_info(&datum, col_desc.col_type_, cmp_func.cmp_func_))) {
LOG_WARN("Failed to merge obj", K(ret), KP(col_stat));
@ -167,7 +167,7 @@ int ObDirectLoadPartitionMergeTask::collect_obj(const ObDatumRow &datum_row)
const common::ObCmpFunc &cmp_func = merge_param_->datum_utils_->get_cmp_funcs().at(i).get_cmp_func();
const ObColDesc &col_desc = merge_param_->col_descs_->at(i);
ObOptOSGColumnStat *col_stat = column_stat_array_.at(i);
bool is_valid = ObColumnStatParam::is_valid_histogram_type(col_desc.col_type_.get_type());
bool is_valid = ObColumnStatParam::is_valid_opt_col_type(col_desc.col_type_.get_type());
if (col_stat != nullptr && is_valid) {
if (OB_FAIL(col_stat->update_column_stat_info(&datum, col_desc.col_type_, cmp_func.cmp_func_))) {
LOG_WARN("Failed to merge obj", K(ret), KP(col_stat));
@ -179,7 +179,7 @@ int ObDirectLoadPartitionMergeTask::collect_obj(const ObDatumRow &datum_row)
const common::ObCmpFunc &cmp_func = merge_param_->datum_utils_->get_cmp_funcs().at(i + extra_rowkey_cnt).get_cmp_func();
const ObColDesc &col_desc = merge_param_->col_descs_->at(i);
ObOptOSGColumnStat *col_stat = column_stat_array_.at(i);
bool is_valid = ObColumnStatParam::is_valid_histogram_type(col_desc.col_type_.get_type());
bool is_valid = ObColumnStatParam::is_valid_opt_col_type(col_desc.col_type_.get_type());
if (col_stat != nullptr && is_valid) {
if (OB_FAIL(col_stat->update_column_stat_info(&datum, col_desc.col_type_, cmp_func.cmp_func_))) {
LOG_WARN("Failed to merge obj", K(ret), KP(col_stat));