fix table location compute bug
This commit is contained in:
@ -2158,16 +2158,18 @@ int ObTableLocation::record_in_dml_partition_info(const ObDMLStmt &stmt,
|
|||||||
RowDesc value_row_desc;
|
RowDesc value_row_desc;
|
||||||
OZ(add_se_value_expr(value_expr->get_param_expr(pos1),
|
OZ(add_se_value_expr(value_expr->get_param_expr(pos1),
|
||||||
value_row_desc, 0, exec_ctx, vies_));
|
value_row_desc, 0, exec_ctx, vies_));
|
||||||
for (int64_t i = 0; OB_SUCC(ret) && i < vies_.count(); i++) {
|
|
||||||
vies_.at(i).dst_type_ = op_left_expr->get_param_expr(0)->get_result_type().get_type();
|
|
||||||
vies_.at(i).dst_cs_type_ = op_left_expr->get_param_expr(0)
|
|
||||||
->get_result_type().get_collation_type();
|
|
||||||
}
|
|
||||||
OZ(add_se_value_expr(value_expr->get_param_expr(pos2),
|
OZ(add_se_value_expr(value_expr->get_param_expr(pos2),
|
||||||
value_row_desc, 0, exec_ctx, sub_vies_));
|
value_row_desc, 0, exec_ctx, sub_vies_));
|
||||||
|
}
|
||||||
|
if (OB_SUCC(ret) && hit) {
|
||||||
|
for (int64_t i = 0; OB_SUCC(ret) && i < vies_.count(); i++) {
|
||||||
|
vies_.at(i).dst_type_ = op_left_expr->get_param_expr(pos1)->get_result_type().get_type();
|
||||||
|
vies_.at(i).dst_cs_type_ = op_left_expr->get_param_expr(pos1)
|
||||||
|
->get_result_type().get_collation_type();
|
||||||
|
}
|
||||||
for (int64_t i = 0; OB_SUCC(ret) && i < sub_vies_.count(); i++) {
|
for (int64_t i = 0; OB_SUCC(ret) && i < sub_vies_.count(); i++) {
|
||||||
sub_vies_.at(i).dst_type_ = op_left_expr->get_param_expr(1)->get_result_type().get_type();
|
sub_vies_.at(i).dst_type_ = op_left_expr->get_param_expr(pos2)->get_result_type().get_type();
|
||||||
sub_vies_.at(i).dst_cs_type_ = op_left_expr->get_param_expr(1)
|
sub_vies_.at(i).dst_cs_type_ = op_left_expr->get_param_expr(pos2)
|
||||||
->get_result_type().get_collation_type();
|
->get_result_type().get_collation_type();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user