Clear sub expr evaluated flag of black filter when apply filter

This commit is contained in:
DengzhiLiu
2023-01-05 07:38:10 +00:00
committed by ob-robot
parent d5b0d8c541
commit 99a529ed7e

View File

@ -720,14 +720,14 @@ int ObPushdownFilterExecutor::find_evaluated_datums(
ObExpr *expr, const ObIArray<ObExpr*> &calc_exprs, ObIArray<ObExpr*> &eval_exprs) ObExpr *expr, const ObIArray<ObExpr*> &calc_exprs, ObIArray<ObExpr*> &eval_exprs)
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
if (0 < expr->arg_cnt_ && is_contain(calc_exprs, expr)) { if (is_contain(calc_exprs, expr)) {
if (OB_FAIL(eval_exprs.push_back(expr))) { if (OB_FAIL(eval_exprs.push_back(expr))) {
LOG_WARN("failed to push back expr", K(ret)); LOG_WARN("failed to push back expr", K(ret));
} }
} for (uint32_t i = 0; i < expr->arg_cnt_ && OB_SUCC(ret); ++i) {
for (uint32_t i = 0; i < expr->arg_cnt_ && OB_SUCC(ret); ++i) { if (OB_FAIL(find_evaluated_datums(expr->args_[i], calc_exprs, eval_exprs))) {
if (OB_FAIL(find_evaluated_datums(expr->args_[i], calc_exprs, eval_exprs))) { LOG_WARN("failed to find evaluated datums", K(ret));
LOG_WARN("failed to find evaluated datums", K(ret)); }
} }
} }
return ret; return ret;