Files
doris/fe/fe-core
minghong d663497230 [refactor] (Nereids) Memo.copyIn() return a pair<newly, GroupExpression> (#10891)
When we copy a plan into memo, we will check if this plan is already in memo or it is a new plan.
In the new version of Memo.copyIn(), we encapsulate is_new and the plan's corresponding group-expression.

The is_new is used to avoid repeatedly apply rules against the same plan, and hence save optimize efforts.

Describe the overview of changes.

change Memo.copyIn() and related function interfaces
every time Memo.copyIn() is invoked, we check if the plan is already recorded by memo or not. if plan is not new, we do not put its group into stack for further optimization.
2022-07-27 10:33:25 +08:00
..