fix shared expr canonicalize bug and const propagate bug
This commit is contained in:
@ -420,7 +420,6 @@ int ObRawExprCanonicalizerImpl::pull_parallel_expr(ObRawExpr *&expr)
|
|||||||
LOG_WARN("Pull AND or OR expression failed", K(ret));
|
LOG_WARN("Pull AND or OR expression failed", K(ret));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
child_expr->reset();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (OB_FAIL(parent_expr->add_param_expr(sub_expr))) {
|
if (OB_FAIL(parent_expr->add_param_expr(sub_expr))) {
|
||||||
|
|||||||
@ -338,7 +338,8 @@ int ObTransformConstPropagate::do_transform(ObDMLStmt *stmt,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (OB_SUCC(ret) && has_rollup_or_groupingsets) {
|
if (OB_SUCC(ret) && stmt->is_select_stmt() &&
|
||||||
|
(has_rollup_or_groupingsets || static_cast<ObSelectStmt*>(stmt)->is_scala_group_by())) {
|
||||||
if (OB_FAIL(const_ctx.expire_const_infos())) {
|
if (OB_FAIL(const_ctx.expire_const_infos())) {
|
||||||
LOG_WARN("failed to expire const infos ", K(ret));
|
LOG_WARN("failed to expire const infos ", K(ret));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user