fix hash gby do not clear flag when restart round

This commit is contained in:
18523270951@163.com
2024-05-10 07:33:35 +00:00
committed by ob-robot
parent 1aab8f1c72
commit d8dc61e9ae
2 changed files with 4 additions and 0 deletions

View File

@ -543,6 +543,7 @@ int ObHashGroupByOp::inner_get_next_row()
if (OB_FAIL(load_one_row())) { if (OB_FAIL(load_one_row())) {
LOG_WARN("failed to load one row", K(ret)); LOG_WARN("failed to load one row", K(ret));
} }
} else if (FALSE_IT(clear_evaluated_flag())) {
} else if (OB_FAIL(restore_groupby_datum())) { } else if (OB_FAIL(restore_groupby_datum())) {
LOG_WARN("failed to restore_groupby_datum", K(ret)); LOG_WARN("failed to restore_groupby_datum", K(ret));
} else if (OB_FAIL(aggr_processor_.collect(curr_group_id_))) { } else if (OB_FAIL(aggr_processor_.collect(curr_group_id_))) {
@ -1601,6 +1602,7 @@ int ObHashGroupByOp::inner_get_next_batch(const int64_t max_row_cnt)
if (OB_FAIL(by_pass_prepare_one_batch(op_max_batch_size))) { if (OB_FAIL(by_pass_prepare_one_batch(op_max_batch_size))) {
LOG_WARN("failed to prepare batch", K(ret)); LOG_WARN("failed to prepare batch", K(ret));
} }
} else if (FALSE_IT(clear_evaluated_flag())) {
} else if (OB_FAIL(aggr_processor_.collect_result_batch(all_groupby_exprs_, } else if (OB_FAIL(aggr_processor_.collect_result_batch(all_groupby_exprs_,
op_max_batch_size, op_max_batch_size,
brs_, brs_,

View File

@ -1005,6 +1005,7 @@ int ObHashGroupByVecOp::inner_get_next_batch(const int64_t max_row_cnt)
LOG_WARN("failed to prepare batch", K(ret)); LOG_WARN("failed to prepare batch", K(ret));
} }
} else if (ObThreeStageAggrStage::SECOND_STAGE == MY_SPEC.aggr_stage_) { } else if (ObThreeStageAggrStage::SECOND_STAGE == MY_SPEC.aggr_stage_) {
clear_evaluated_flag();
if (OB_FAIL(aggr_processor_.collect_group_results(local_group_rows_.get_row_meta(), if (OB_FAIL(aggr_processor_.collect_group_results(local_group_rows_.get_row_meta(),
all_groupby_exprs_, op_max_batch_size, brs_, all_groupby_exprs_, op_max_batch_size, brs_,
curr_group_id_))) { curr_group_id_))) {
@ -1012,6 +1013,7 @@ int ObHashGroupByVecOp::inner_get_next_batch(const int64_t max_row_cnt)
} }
} else { } else {
int64_t read_rows = 0; int64_t read_rows = 0;
clear_evaluated_flag();
if (OB_FAIL(local_group_rows_.get_next_batch(return_rows_, op_max_batch_size, read_rows))) { if (OB_FAIL(local_group_rows_.get_next_batch(return_rows_, op_max_batch_size, read_rows))) {
LOG_WARN("failed to get batch", K(ret)); LOG_WARN("failed to get batch", K(ret));
} else if (OB_UNLIKELY(0 == read_rows)) { } else if (OB_UNLIKELY(0 == read_rows)) {