From a8db31dc49447f7309009eebca94c45a31eccf0c Mon Sep 17 00:00:00 2001 From: Jian Zhang Date: Tue, 10 Oct 2017 11:17:48 +0800 Subject: [PATCH] plan: set proper parent for newly projection-eliminated child (#4730) --- plan/eliminate_projection.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plan/eliminate_projection.go b/plan/eliminate_projection.go index 1e1f7bb0b4..837e68b296 100644 --- a/plan/eliminate_projection.go +++ b/plan/eliminate_projection.go @@ -72,7 +72,9 @@ func resolveExprAndReplace(origin expression.Expression, replace map[string]*exp func doPhysicalProjectionElimination(p PhysicalPlan) PhysicalPlan { children := make([]Plan, 0, len(p.Children())) for _, child := range p.Children() { - children = append(children, doPhysicalProjectionElimination(child.(PhysicalPlan))) + newChild := doPhysicalProjectionElimination(child.(PhysicalPlan)) + children = append(children, newChild) + newChild.SetParents(p) } p.SetChildren(children...)