fix vec2.0 px merge sort receive and table scan partition pruning bug
This commit is contained in:
@ -939,8 +939,6 @@ int ObPxMSReceiveVecOp::get_all_rows_from_channels(ObPhysicalPlanCtx *phy_plan_c
|
|||||||
const_cast<ObCompactRow **>(stored_compact_rows_)))) {
|
const_cast<ObCompactRow **>(stored_compact_rows_)))) {
|
||||||
LOG_WARN("temp row store add batch failed", K(ret));
|
LOG_WARN("temp row store add batch failed", K(ret));
|
||||||
} else {
|
} else {
|
||||||
last_store_row = stored_compact_rows_[0];
|
|
||||||
last_store_row_array.at(got_channel_idx) = last_store_row;
|
|
||||||
start_idx = cur_idx;
|
start_idx = cur_idx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -974,7 +972,7 @@ int ObPxMSReceiveVecOp::get_all_rows_from_channels(ObPhysicalPlanCtx *phy_plan_c
|
|||||||
const_cast<ObCompactRow **>(stored_compact_rows_)))) {
|
const_cast<ObCompactRow **>(stored_compact_rows_)))) {
|
||||||
LOG_WARN("temp row store add batch failed", K(ret));
|
LOG_WARN("temp row store add batch failed", K(ret));
|
||||||
} else {
|
} else {
|
||||||
last_store_row = stored_compact_rows_[0];
|
last_store_row = stored_compact_rows_[cur_idx - start_idx - 1];
|
||||||
last_store_row_array.at(got_channel_idx) = last_store_row;
|
last_store_row_array.at(got_channel_idx) = last_store_row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2386,6 +2386,9 @@ int ObTableScanOp::construct_partition_range(ObArenaAllocator &allocator,
|
|||||||
end_row_key[i] = scan_range.end_key_.get_obj_ptr()[pos];
|
end_row_key[i] = scan_range.end_key_.get_obj_ptr()[pos];
|
||||||
sql::ObExpr *expr = part_dep_cols.at(i);
|
sql::ObExpr *expr = part_dep_cols.at(i);
|
||||||
sql::ObDatum &datum = expr->locate_datum_for_write(eval_ctx_);
|
sql::ObDatum &datum = expr->locate_datum_for_write(eval_ctx_);
|
||||||
|
if (get_spec().use_rich_format_) {
|
||||||
|
expr->init_vector_for_write(eval_ctx_, VEC_UNIFORM, 1);
|
||||||
|
}
|
||||||
if (OB_FAIL(datum.from_obj(start_row_key[i], expr->obj_datum_map_))) {
|
if (OB_FAIL(datum.from_obj(start_row_key[i], expr->obj_datum_map_))) {
|
||||||
LOG_WARN("convert obj to datum failed", K(ret));
|
LOG_WARN("convert obj to datum failed", K(ret));
|
||||||
} else if (is_lob_storage(start_row_key[i].get_type()) &&
|
} else if (is_lob_storage(start_row_key[i].get_type()) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user