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;
|
||||
OZ(add_se_value_expr(value_expr->get_param_expr(pos1),
|
||||
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),
|
||||
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++) {
|
||||
sub_vies_.at(i).dst_type_ = op_left_expr->get_param_expr(1)->get_result_type().get_type();
|
||||
sub_vies_.at(i).dst_cs_type_ = op_left_expr->get_param_expr(1)
|
||||
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(pos2)
|
||||
->get_result_type().get_collation_type();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user