fix ObRawExpr::add_child_flags bug

This commit is contained in:
obdev
2023-09-08 12:38:14 +08:00
committed by ob-robot
parent ca21045824
commit ff1d83df68
9 changed files with 45 additions and 36 deletions

View File

@ -1851,8 +1851,8 @@ int ObExprGeneratorImpl::visit(ObAggFunRawExpr &expr)
} // end for
FOREACH(e, columnlized_exprs) {
if ((*e)->has_flag(IS_COLUMNLIZED)) {
(*e)->clear_flag(IS_COLUMNLIZED);
if (OB_FAIL((*e)->clear_flag(IS_COLUMNLIZED))) {
LOG_WARN("failed to clear flag", K(ret));
}
}
}
@ -2107,9 +2107,10 @@ int ObExprGeneratorImpl::generate_expr_operator(ObRawExpr &raw_expr,
fetcher.op_ = NULL;
ObItemType type = raw_expr.get_expr_type();
if (IS_EXPR_OP(type) && !IS_AGGR_FUN(type)) {
raw_expr.clear_flag(IS_COLUMNLIZED);
// no expr operator for set expr
if (!(type > T_OP_SET && type <= T_OP_EXCEPT)) {
if (OB_FAIL(raw_expr.clear_flag(IS_COLUMNLIZED))) {
LOG_WARN("failed to clear flag", K(ret));
} else if (!(type > T_OP_SET && type <= T_OP_EXCEPT)) {
// no expr operator for set expr
OZ(raw_expr.do_visit(*this));
}
}

View File

@ -479,8 +479,8 @@ int ObStaticEngineCG::clear_all_exprs_specific_flag(
if (OB_ISNULL(exprs.at(i))) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("expr is null", K(ret), K(i), K(exprs));
} else {
exprs.at(i)->clear_flag(flag);
} else if (OB_FAIL(exprs.at(i)->clear_flag(flag))) {
LOG_WARN("failed to clear flag", K(ret));
}
}