Fix: swallow error code
This commit is contained in:
@ -106,79 +106,81 @@ int ObHashUnionVecOp::inner_get_next_batch(const int64_t max_row_cnt)
|
|||||||
ObBitVector *output_vec = nullptr;
|
ObBitVector *output_vec = nullptr;
|
||||||
|
|
||||||
const ObBatchRows *child_brs = nullptr;
|
const ObBatchRows *child_brs = nullptr;
|
||||||
if (!has_got_part_) {
|
if (OB_SUCC(ret)) {
|
||||||
if (child_op_end) {
|
if (!has_got_part_) {
|
||||||
end_to_process = true;
|
if (child_op_end) {
|
||||||
} else if (OB_FAIL(get_child_next_batch(batch_size, child_brs))) {
|
end_to_process = true;
|
||||||
LOG_WARN("failed to get child next batch", K(ret));
|
} else if (OB_FAIL(get_child_next_batch(batch_size, child_brs))) {
|
||||||
} else if (OB_FAIL(convert_vector(cur_child_op_->get_spec().output_,
|
LOG_WARN("failed to get child next batch", K(ret));
|
||||||
MY_SPEC.set_exprs_,
|
} else if (OB_FAIL(convert_vector(cur_child_op_->get_spec().output_,
|
||||||
child_brs))) {
|
MY_SPEC.set_exprs_,
|
||||||
LOG_WARN("copy current row failed", K(ret));
|
child_brs))) {
|
||||||
} else if (OB_FAIL(hp_infras_.calc_hash_value_for_batch(MY_SPEC.set_exprs_,
|
LOG_WARN("copy current row failed", K(ret));
|
||||||
*child_brs,
|
} else if (OB_FAIL(hp_infras_.calc_hash_value_for_batch(MY_SPEC.set_exprs_,
|
||||||
hash_values_for_batch_))) {
|
*child_brs,
|
||||||
LOG_WARN("failed to calc hash value for batch", K(ret));
|
hash_values_for_batch_))) {
|
||||||
} else {
|
LOG_WARN("failed to calc hash value for batch", K(ret));
|
||||||
child_op_end = cur_child_op_ == right_ && child_brs->end_ && 0 != child_brs->size_;
|
} else {
|
||||||
end_to_process = cur_child_op_ == right_ && child_brs->end_ && 0 == child_brs->size_;
|
child_op_end = cur_child_op_ == right_ && child_brs->end_ && 0 != child_brs->size_;
|
||||||
read_rows = child_brs->size_;
|
end_to_process = cur_child_op_ == right_ && child_brs->end_ && 0 == child_brs->size_;
|
||||||
}
|
read_rows = child_brs->size_;
|
||||||
} else if (OB_FAIL(hp_infras_.get_left_next_batch(MY_SPEC.set_exprs_,
|
}
|
||||||
batch_size,
|
} else if (OB_FAIL(hp_infras_.get_left_next_batch(MY_SPEC.set_exprs_,
|
||||||
read_rows,
|
batch_size,
|
||||||
hash_values_for_batch_))) {
|
read_rows,
|
||||||
if (OB_ITER_END == ret) {
|
hash_values_for_batch_))) {
|
||||||
ret = OB_SUCCESS;
|
if (OB_ITER_END == ret) {
|
||||||
end_to_process = true;
|
ret = OB_SUCCESS;
|
||||||
} else {
|
end_to_process = true;
|
||||||
LOG_WARN("failed to get batch from infra", K(ret));
|
} else {
|
||||||
}
|
LOG_WARN("failed to get batch from infra", K(ret));
|
||||||
}
|
|
||||||
if (OB_SUCC(ret) && end_to_process) {
|
|
||||||
end_to_process = false;
|
|
||||||
if (OB_FAIL(hp_infras_.finish_insert_row())) {
|
|
||||||
LOG_WARN("failed to finish insert row", K(ret));
|
|
||||||
} else if (!has_got_part_) {
|
|
||||||
has_got_part_ = true;
|
|
||||||
} else if (OB_FAIL(hp_infras_.close_cur_part(InputSide::LEFT))) {
|
|
||||||
LOG_WARN("failed to close cur part", K(ret));
|
|
||||||
}
|
|
||||||
if (OB_FAIL(ret)) {
|
|
||||||
} else if (OB_FAIL(hp_infras_.end_round())) {
|
|
||||||
LOG_WARN("failed to end round", K(ret));
|
|
||||||
} else if (OB_FAIL(try_check_status())) {
|
|
||||||
LOG_WARN("failed to check status", K(ret));
|
|
||||||
} else if (OB_FAIL(hp_infras_.start_round())) {
|
|
||||||
LOG_WARN("failed to start round", K(ret));
|
|
||||||
} else if (OB_FAIL(hp_infras_.get_next_partition(InputSide::LEFT))) {
|
|
||||||
if (OB_ITER_END != ret) {
|
|
||||||
LOG_WARN("failed to get next dumped partition", K(ret));
|
|
||||||
}
|
}
|
||||||
} else if (OB_FAIL(hp_infras_.open_cur_part(InputSide::LEFT))) {
|
|
||||||
LOG_WARN("failed to open cur part", K(ret));
|
|
||||||
} else if (OB_FAIL(hp_infras_.resize(hp_infras_.get_cur_part_row_cnt(InputSide::LEFT)))) {
|
|
||||||
LOG_WARN("failed to resize cur part", K(ret));
|
|
||||||
}
|
}
|
||||||
} else if (OB_FAIL(ret)) {
|
if (OB_SUCC(ret) && end_to_process) {
|
||||||
} else if (has_got_part_ && OB_FAIL(hp_infras_.insert_row_for_batch(MY_SPEC.set_exprs_,
|
end_to_process = false;
|
||||||
hash_values_for_batch_,
|
if (OB_FAIL(hp_infras_.finish_insert_row())) {
|
||||||
read_rows,
|
LOG_WARN("failed to finish insert row", K(ret));
|
||||||
nullptr,
|
} else if (!has_got_part_) {
|
||||||
output_vec))) {
|
has_got_part_ = true;
|
||||||
LOG_WARN("failed to insert batch for dump", K(ret));
|
} else if (OB_FAIL(hp_infras_.close_cur_part(InputSide::LEFT))) {
|
||||||
} else if (!has_got_part_ && OB_FAIL(hp_infras_.insert_row_for_batch(MY_SPEC.set_exprs_,
|
LOG_WARN("failed to close cur part", K(ret));
|
||||||
|
}
|
||||||
|
if (OB_FAIL(ret)) {
|
||||||
|
} else if (OB_FAIL(hp_infras_.end_round())) {
|
||||||
|
LOG_WARN("failed to end round", K(ret));
|
||||||
|
} else if (OB_FAIL(try_check_status())) {
|
||||||
|
LOG_WARN("failed to check status", K(ret));
|
||||||
|
} else if (OB_FAIL(hp_infras_.start_round())) {
|
||||||
|
LOG_WARN("failed to start round", K(ret));
|
||||||
|
} else if (OB_FAIL(hp_infras_.get_next_partition(InputSide::LEFT))) {
|
||||||
|
if (OB_ITER_END != ret) {
|
||||||
|
LOG_WARN("failed to get next dumped partition", K(ret));
|
||||||
|
}
|
||||||
|
} else if (OB_FAIL(hp_infras_.open_cur_part(InputSide::LEFT))) {
|
||||||
|
LOG_WARN("failed to open cur part", K(ret));
|
||||||
|
} else if (OB_FAIL(hp_infras_.resize(hp_infras_.get_cur_part_row_cnt(InputSide::LEFT)))) {
|
||||||
|
LOG_WARN("failed to resize cur part", K(ret));
|
||||||
|
}
|
||||||
|
} else if (OB_FAIL(ret)) {
|
||||||
|
} else if (has_got_part_ && OB_FAIL(hp_infras_.insert_row_for_batch(MY_SPEC.set_exprs_,
|
||||||
hash_values_for_batch_,
|
hash_values_for_batch_,
|
||||||
read_rows,
|
read_rows,
|
||||||
child_brs->skip_,
|
nullptr,
|
||||||
output_vec))) {
|
output_vec))) {
|
||||||
LOG_WARN("failed to insert batch for no dump", K(ret));
|
LOG_WARN("failed to insert batch for dump", K(ret));
|
||||||
} else if (OB_ISNULL(output_vec)) {
|
} else if (!has_got_part_ && OB_FAIL(hp_infras_.insert_row_for_batch(MY_SPEC.set_exprs_,
|
||||||
ret = OB_ERR_UNEXPECTED;
|
hash_values_for_batch_,
|
||||||
LOG_WARN("failed to get output vec", K(ret));
|
read_rows,
|
||||||
} else {
|
child_brs->skip_,
|
||||||
brs_.size_ = read_rows;
|
output_vec))) {
|
||||||
brs_.skip_->deep_copy(*output_vec, read_rows);
|
LOG_WARN("failed to insert batch for no dump", K(ret));
|
||||||
|
} else if (OB_ISNULL(output_vec)) {
|
||||||
|
ret = OB_ERR_UNEXPECTED;
|
||||||
|
LOG_WARN("failed to get output vec", K(ret));
|
||||||
|
} else {
|
||||||
|
brs_.size_ = read_rows;
|
||||||
|
brs_.skip_->deep_copy(*output_vec, read_rows);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user