fix incorrect removal of the A=A expression
This commit is contained in:
@ -3814,7 +3814,9 @@ int ObLogPlan::inner_remove_redundancy_pred(ObIArray<ObRawExpr*> &join_pred,
|
|||||||
if (OB_ISNULL(cur_expr)) {
|
if (OB_ISNULL(cur_expr)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("get unexpected null", K(ret), K(cur_expr));
|
LOG_WARN("get unexpected null", K(ret), K(cur_expr));
|
||||||
} else if (T_OP_EQ == cur_expr->get_expr_type()) {
|
} else if (T_OP_EQ == cur_expr->get_expr_type() &&
|
||||||
|
2 == cur_expr->get_param_count() &&
|
||||||
|
cur_expr->get_param_expr(0) != cur_expr->get_param_expr(1)) {
|
||||||
if (OB_ISNULL(left_expr = cur_expr->get_param_expr(0)) ||
|
if (OB_ISNULL(left_expr = cur_expr->get_param_expr(0)) ||
|
||||||
OB_ISNULL(right_expr = cur_expr->get_param_expr(1))) {
|
OB_ISNULL(right_expr = cur_expr->get_param_expr(1))) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
|
|||||||
Reference in New Issue
Block a user