提交 3dad2201 编写于 作者: O obdev 提交者: ob-robot

fix old query range bug with row expr

上级 e5bf87e2
......@@ -4428,6 +4428,20 @@ int ObQueryRange::set_partial_row_border(
} else if (OB_ISNULL(new_key_part) || OB_UNLIKELY(!new_key_part->is_normal_key())) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("new_key_part is null.");
} else if (((ObQueryRange::OB_FROM_LEFT == start_border_type || ObQueryRange::OB_FROM_LEFT == end_border_type) && l_cur->is_in_key()) ||
((ObQueryRange::OB_FROM_RIGHT == start_border_type || ObQueryRange::OB_FROM_RIGHT == end_border_type) && r_cur->is_in_key())) {
if (start_border_type != end_border_type) {
// in key must from one side
b_flag = true;
} else if (ObQueryRange::OB_FROM_LEFT == start_border_type) {
if (OB_FAIL(new_key_part->deep_node_copy(*l_cur))) {
LOG_WARN("Copy key part node failed", K(ret));
}
} else {
if (OB_FAIL(new_key_part->deep_node_copy(*r_cur))) {
LOG_WARN("Copy key part node failed", K(ret));
}
}
} else {
new_key_part->normal_keypart_->always_true_ = false;
if (ObQueryRange::OB_FROM_LEFT == start_border_type && l_cur) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册