fix some replace expr bugs in optimizer

This commit is contained in:
yinyj17
2023-06-14 07:12:26 +00:00
committed by ob-robot
parent 56f33a54f2
commit 703ed5c14e
48 changed files with 268 additions and 275 deletions

View File

@ -55,15 +55,14 @@ int ObLogStatCollector::get_op_exprs(ObIArray<ObRawExpr*> &all_exprs)
return ret;
}
int ObLogStatCollector::inner_replace_op_exprs(
const common::ObIArray<std::pair<ObRawExpr *, ObRawExpr*>> &to_replace_exprs)
int ObLogStatCollector::inner_replace_op_exprs(ObRawExprReplacer &replacer)
{
int ret = OB_SUCCESS;
for (int64_t i = 0; OB_SUCC(ret) && i < sort_keys_.count(); i++) {
if (OB_ISNULL(sort_keys_.at(i).expr_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected null", K(ret));
} else if (OB_FAIL(replace_expr_action(to_replace_exprs, sort_keys_.at(i).expr_))) {
} else if (OB_FAIL(replace_expr_action(replacer, sort_keys_.at(i).expr_))) {
LOG_WARN("failed to replace sort key expr", K(ret));
}
}