@@ -36,6 +36,7 @@ import (
36
36
"github.com/pingcap/tidb/pkg/planner/util"
37
37
"github.com/pingcap/tidb/pkg/planner/util/fixcontrol"
38
38
"github.com/pingcap/tidb/pkg/planner/util/optimizetrace"
39
+ "github.com/pingcap/tidb/pkg/planner/util/utilfuncp"
39
40
"github.com/pingcap/tidb/pkg/statistics"
40
41
"github.com/pingcap/tidb/pkg/types"
41
42
tidbutil "github.com/pingcap/tidb/pkg/util"
@@ -103,7 +104,7 @@ func (p *LogicalTableDual) FindBestTask(prop *property.PhysicalProperty, planCou
103
104
}.Init (p .SCtx (), p .StatsInfo (), p .QueryBlockOffset ())
104
105
dual .SetSchema (p .schema )
105
106
planCounter .Dec (1 )
106
- appendCandidate4PhysicalOptimizeOp (opt , p , dual , prop )
107
+ utilfuncp . AppendCandidate4PhysicalOptimizeOp (opt , p , dual , prop )
107
108
rt := & RootTask {}
108
109
rt .SetPlan (dual )
109
110
rt .SetEmpty (p .RowCount == 0 )
@@ -239,7 +240,7 @@ func (p *baseLogicalPlan) enumeratePhysicalPlans4Task(
239
240
bestTask = curTask
240
241
break
241
242
}
242
- appendCandidate4PhysicalOptimizeOp (opt , p , curTask .Plan (), prop )
243
+ utilfuncp . AppendCandidate4PhysicalOptimizeOp (opt , p , curTask .Plan (), prop )
243
244
// Get the most efficient one.
244
245
if curIsBetter , err := compareTaskCost (curTask , bestTask , opt ); err != nil {
245
246
return nil , 0 , err
@@ -579,7 +580,7 @@ func (p *baseLogicalPlan) FindBestTask(prop *property.PhysicalProperty, planCoun
579
580
bestTask = curTask
580
581
goto END
581
582
}
582
- appendCandidate4PhysicalOptimizeOp (opt , p , curTask .Plan (), prop )
583
+ utilfuncp . AppendCandidate4PhysicalOptimizeOp (opt , p , curTask .Plan (), prop )
583
584
if curIsBetter , err := compareTaskCost (curTask , bestTask , opt ); err != nil {
584
585
return nil , 0 , err
585
586
} else if curIsBetter {
@@ -639,7 +640,7 @@ func (p *LogicalMemTable) FindBestTask(prop *property.PhysicalProperty, planCoun
639
640
}.Init (p .SCtx (), p .StatsInfo (), p .QueryBlockOffset ())
640
641
memTable .SetSchema (p .schema )
641
642
planCounter .Dec (1 )
642
- appendCandidate4PhysicalOptimizeOp (opt , p , memTable , prop )
643
+ utilfuncp . AppendCandidate4PhysicalOptimizeOp (opt , p , memTable , prop )
643
644
rt := & RootTask {}
644
645
rt .SetPlan (memTable )
645
646
return rt , 1 , nil
@@ -2926,7 +2927,7 @@ func appendCandidate(lp base.LogicalPlan, task base.Task, prop *property.Physica
2926
2927
if task == nil || task .Invalid () {
2927
2928
return
2928
2929
}
2929
- appendCandidate4PhysicalOptimizeOp (opt , lp , task .Plan (), prop )
2930
+ utilfuncp . AppendCandidate4PhysicalOptimizeOp (opt , lp , task .Plan (), prop )
2930
2931
}
2931
2932
2932
2933
// PushDownNot here can convert condition 'not (a != 1)' to 'a = 1'. When we build range from conds, the condition like
0 commit comments