Skip to content

Commit 61bab7c

Browse files
AilinKidhawkingrei
authored andcommitted
planner: move logical show ddl jobs to logicalop pkg. (pingcap#54930)
ref pingcap#51664, ref pingcap#52714
1 parent 37a9260 commit 61bab7c

10 files changed

+16
-21
lines changed

pkg/planner/core/BUILD.bazel

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ go_library(
3737
"logical_projection.go",
3838
"logical_selection.go",
3939
"logical_sequence.go",
40-
"logical_show_ddl_jobs.go",
4140
"logical_sort.go",
4241
"logical_table_dual.go",
4342
"logical_table_scan.go",

pkg/planner/core/core_init.go

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ func init() {
3838
utilfuncp.FindBestTask4LogicalShow = findBestTask4LogicalShow
3939
utilfuncp.FindBestTask4LogicalCTETable = findBestTask4LogicalCTETable
4040
utilfuncp.FindBestTask4LogicalMemTable = findBestTask4LogicalMemTable
41+
utilfuncp.FindBestTask4LogicalShowDDLJobs = findBestTask4LogicalShowDDLJobs
4142
utilfuncp.ExhaustPhysicalPlans4LogicalMaxOneRow = exhaustPhysicalPlans4LogicalMaxOneRow
4243

4344
utilfuncp.AppendCandidate4PhysicalOptimizeOp = appendCandidate4PhysicalOptimizeOp

pkg/planner/core/find_best_task.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ func findBestTask4LogicalShow(lp base.LogicalPlan, prop *property.PhysicalProper
122122
return rt, 1, nil
123123
}
124124

125-
func findBestTask4LogicalShowDDLJobs(p *LogicalShowDDLJobs, prop *property.PhysicalProperty, planCounter *base.PlanCounterTp, _ *optimizetrace.PhysicalOptimizeOp) (base.Task, int64, error) {
125+
func findBestTask4LogicalShowDDLJobs(lp base.LogicalPlan, prop *property.PhysicalProperty, planCounter *base.PlanCounterTp, _ *optimizetrace.PhysicalOptimizeOp) (base.Task, int64, error) {
126+
p := lp.(*logicalop.LogicalShowDDLJobs)
126127
if !prop.IsSortItemEmpty() || planCounter.Empty() {
127128
return base.InvalidTask, 0, nil
128129
}

pkg/planner/core/logical_plans.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ var (
4444
_ base.LogicalPlan = &LogicalUnionScan{}
4545
_ base.LogicalPlan = &logicalop.LogicalMemTable{}
4646
_ base.LogicalPlan = &logicalop.LogicalShow{}
47-
_ base.LogicalPlan = &LogicalShowDDLJobs{}
47+
_ base.LogicalPlan = &logicalop.LogicalShowDDLJobs{}
4848
_ base.LogicalPlan = &LogicalCTE{}
4949
_ base.LogicalPlan = &logicalop.LogicalCTETable{}
5050
_ base.LogicalPlan = &LogicalSequence{}

pkg/planner/core/operator/logicalop/BUILD.bazel

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ go_library(
99
"logical_mem_table.go",
1010
"logical_schema_producer.go",
1111
"logical_show.go",
12+
"logical_show_ddl_jobs.go",
1213
],
1314
importpath = "github.com/pingcap/tidb/pkg/planner/core/operator/logicalop",
1415
visibility = ["//visibility:public"],

pkg/planner/core/logical_show_ddl_jobs.go pkg/planner/core/operator/logicalop/logical_show_ddl_jobs.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
package core
15+
package logicalop
1616

1717
import (
1818
"github.com/pingcap/tidb/pkg/expression"
1919
"github.com/pingcap/tidb/pkg/planner/core/base"
20-
"github.com/pingcap/tidb/pkg/planner/core/operator/logicalop"
2120
"github.com/pingcap/tidb/pkg/planner/property"
2221
"github.com/pingcap/tidb/pkg/planner/util/optimizetrace"
22+
"github.com/pingcap/tidb/pkg/planner/util/utilfuncp"
2323
"github.com/pingcap/tidb/pkg/util/plancodec"
2424
)
2525

2626
// LogicalShowDDLJobs is for showing DDL job list.
2727
type LogicalShowDDLJobs struct {
28-
logicalop.LogicalSchemaProducer
28+
LogicalSchemaProducer
2929

3030
JobNumber int64
3131
}
3232

3333
// Init initializes LogicalShowDDLJobs.
3434
func (p LogicalShowDDLJobs) Init(ctx base.PlanContext) *LogicalShowDDLJobs {
35-
p.BaseLogicalPlan = logicalop.NewBaseLogicalPlan(ctx, plancodec.TypeShowDDLJobs, &p, 0)
35+
p.BaseLogicalPlan = NewBaseLogicalPlan(ctx, plancodec.TypeShowDDLJobs, &p, 0)
3636
return &p
3737
}
3838

@@ -46,7 +46,7 @@ func (p LogicalShowDDLJobs) Init(ctx base.PlanContext) *LogicalShowDDLJobs {
4646

4747
// FindBestTask implements the base.LogicalPlan.<3rd> interface.
4848
func (p *LogicalShowDDLJobs) FindBestTask(prop *property.PhysicalProperty, planCounter *base.PlanCounterTp, _ *optimizetrace.PhysicalOptimizeOp) (base.Task, int64, error) {
49-
return findBestTask4LogicalShowDDLJobs(p, prop, planCounter, nil)
49+
return utilfuncp.FindBestTask4LogicalShowDDLJobs(p, prop, planCounter, nil)
5050
}
5151

5252
// BuildKeyInfo inherits the BaseLogicalPlan.<4th> interface.

pkg/planner/core/planbuilder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1398,7 +1398,7 @@ func (b *PlanBuilder) buildAdmin(ctx context.Context, as *ast.AdminStmt) (base.P
13981398
p.setSchemaAndNames(buildShowDDLFields())
13991399
ret = p
14001400
case ast.AdminShowDDLJobs:
1401-
p := LogicalShowDDLJobs{JobNumber: as.JobNumber}.Init(b.ctx)
1401+
p := logicalop.LogicalShowDDLJobs{JobNumber: as.JobNumber}.Init(b.ctx)
14021402
p.SetSchemaAndNames(buildShowDDLJobsFields())
14031403
for _, col := range p.Schema().Columns {
14041404
col.UniqueID = b.ctx.GetSessionVars().AllocPlanColumnID()

pkg/planner/core/stats.go

-11
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,6 @@ func (p *basePhysicalPlan) StatsCount() float64 {
4747
return p.StatsInfo().RowCount
4848
}
4949

50-
func getFakeStats(schema *expression.Schema) *property.StatsInfo {
51-
profile := &property.StatsInfo{
52-
RowCount: 1,
53-
ColNDVs: make(map[int64]float64, schema.Len()),
54-
}
55-
for _, col := range schema.Columns {
56-
profile.ColNDVs[col.UniqueID] = 1
57-
}
58-
return profile
59-
}
60-
6150
// RecursiveDeriveStats4Test is a exporter just for test.
6251
func RecursiveDeriveStats4Test(p base.LogicalPlan) (*property.StatsInfo, error) {
6352
return p.RecursiveDeriveStats(nil)

pkg/planner/core/stringer.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ func toString(in base.Plan, strs []string, idxs []int) ([]string, []int) {
185185
if pl := in.(*PhysicalShow); pl.Extractor != nil {
186186
str = str + "(" + pl.Extractor.ExplainInfo() + ")"
187187
}
188-
case *LogicalShowDDLJobs, *PhysicalShowDDLJobs:
188+
case *logicalop.LogicalShowDDLJobs, *PhysicalShowDDLJobs:
189189
str = "ShowDDLJobs"
190190
case *LogicalSort, *PhysicalSort:
191191
str = "Sort"

pkg/planner/util/utilfuncp/func_pointer_misc.go

+4
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,7 @@ var FindBestTask4LogicalMemTable func(lp base.LogicalPlan, prop *property.Physic
105105
// FindBestTask4LogicalShow will be called by LogicalShow in logicalOp pkg.
106106
var FindBestTask4LogicalShow func(lp base.LogicalPlan, prop *property.PhysicalProperty, planCounter *base.PlanCounterTp,
107107
_ *optimizetrace.PhysicalOptimizeOp) (base.Task, int64, error)
108+
109+
// FindBestTask4LogicalShowDDLJobs will be called by LogicalShowDDLJobs in logicalOp pkg.
110+
var FindBestTask4LogicalShowDDLJobs func(lp base.LogicalPlan, prop *property.PhysicalProperty,
111+
planCounter *base.PlanCounterTp, _ *optimizetrace.PhysicalOptimizeOp) (base.Task, int64, error)

0 commit comments

Comments
 (0)