From f0169aa79d06855b54e7d392ca7140303623cbbe Mon Sep 17 00:00:00 2001 From: zhexuany Date: Tue, 17 Jul 2018 00:17:43 +0800 Subject: [PATCH] move explain code to explain.go --- executor/builder.go | 11 ----------- executor/explain.go | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/executor/builder.go b/executor/builder.go index 3b1abd5de4f3f..ad064c8598015 100644 --- a/executor/builder.go +++ b/executor/builder.go @@ -618,17 +618,6 @@ func (b *executorBuilder) buildDDL(v *plan.DDL) Executor { return e } -func (b *executorBuilder) buildExplain(v *plan.Explain) Executor { - e := &ExplainExec{ - baseExecutor: newBaseExecutor(b.ctx, v.Schema(), v.ExplainID()), - } - e.rows = make([][]string, 0, len(v.Rows)) - for _, row := range v.Rows { - e.rows = append(e.rows, row) - } - return e -} - func (b *executorBuilder) buildUnionScanExec(v *plan.PhysicalUnionScan) Executor { src := b.build(v.Children()[0]) if b.err != nil { diff --git a/executor/explain.go b/executor/explain.go index 781f026c736af..8119c6d50fab9 100644 --- a/executor/explain.go +++ b/executor/explain.go @@ -15,6 +15,7 @@ package executor import ( "github.com/cznic/mathutil" + "github.com/pingcap/tidb/plan" "github.com/pingcap/tidb/util/chunk" "golang.org/x/net/context" ) @@ -27,6 +28,19 @@ type ExplainExec struct { cursor int } +// buildExplain builds a explain executor. `e.rows` collects final result and +// displays it in sql-shell. +func (b *executorBuilder) buildExplain(v *plan.Explain) Executor { + e := &ExplainExec{ + baseExecutor: newBaseExecutor(b.ctx, v.Schema(), v.ExplainID()), + } + e.rows = make([][]string, 0, len(v.Rows)) + for _, row := range v.Rows { + e.rows = append(e.rows, row) + } + return e +} + // Close implements the Executor Close interface. func (e *ExplainExec) Close() error { e.rows = nil