[CP] Fix startup filter post bug

This commit is contained in:
obdev
2023-02-24 12:03:57 +00:00
committed by ob-robot
parent 4d06b2886d
commit e615feb42d
9 changed files with 142 additions and 12 deletions

View File

@ -3903,8 +3903,7 @@ int ObLogicalOperator::allocate_startup_expr_post(int64_t child_idx)
if (OB_ISNULL(startup_exprs.at(i))) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpect null expr", K(ret));
} else if (startup_exprs.at(i)->has_flag(CNT_ROWNUM) ||
startup_exprs.at(i)->has_flag(CNT_DYNAMIC_PARAM)) {
} else if (startup_exprs.at(i)->has_flag(CNT_ROWNUM)) {
if (OB_FAIL(non_startup_exprs.push_back(startup_exprs.at(i)))) {
LOG_WARN("failed to push back expr", K(ret));
}
@ -3913,7 +3912,7 @@ int ObLogicalOperator::allocate_startup_expr_post(int64_t child_idx)
}
}
if (OB_SUCC(ret)) {
if (OB_FAIL(add_startup_exprs(new_startup_exprs))) {
if (OB_FAIL(append_array_no_dup(get_startup_exprs(), new_startup_exprs))) {
LOG_WARN("failed to add startup exprs", K(ret));
} else {
//exchange out上面的startup filter保留,用于控制当前dfo提前终止