Documentation ¶
Index ¶
- Constants
- Variables
- func CompileExecutePreparedStmt(ctx context.Context, ID uint32, args ...interface{}) ast.Statement
- type ApplyExec
- type CheckTableExec
- type Closeable
- type Compiler
- type DDLExec
- type DeallocateExec
- type DeleteExec
- type DistinctExec
- type DummyScanExec
- type ExecuteExec
- type Executor
- type ExistsExec
- type ExplainExec
- type FilterExec
- type GrantExec
- type HashAggExec
- type HashJoinExec
- type HashSemiJoinExec
- type InsertExec
- type InsertValues
- type LimitExec
- type LoadData
- type LoadDataInfo
- type MaxOneRowExec
- type PrepareExec
- type Prepared
- type ProjectionExec
- type ReplaceExec
- type ReverseExec
- type Row
- type RowKeyEntry
- type SelectLockExec
- type SelectionExec
- type ShowDDLExec
- type ShowExec
- type SimpleExec
- type SortExec
- type StreamAggExec
- type TableDualExec
- type TableScanExec
- type TopnExec
- type TrimExec
- type UnionExec
- type UnionScanExec
- func (us *UnionScanExec) Close() error
- func (us *UnionScanExec) Fields() []*ast.ResultField
- func (us *UnionScanExec) Len() int
- func (us *UnionScanExec) Less(i, j int) bool
- func (us *UnionScanExec) Next() (*Row, error)
- func (us *UnionScanExec) Schema() expression.Schema
- func (us *UnionScanExec) Swap(i, j int)
- type UpdateExec
- type XSelectIndexExec
- type XSelectTableExec
Constants ¶
const ( CodeUnknownPlan terror.ErrCode = 1 CodePrepareMulti terror.ErrCode = 2 CodeStmtNotFound terror.ErrCode = 3 CodeSchemaChanged terror.ErrCode = 4 CodeWrongParamCount terror.ErrCode = 5 CodeRowKeyCount terror.ErrCode = 6 CodePrepareDDL terror.ErrCode = 7 // MySQL error code CodeCannotUser terror.ErrCode = 1396 )
Error codes.
const DirtyDBKey dirtyDBKeyType = 1
DirtyDBKey is the key to *dirtyDB for a context.
const LoadDataVarKey loadDataVarKeyType = 0
LoadDataVarKey is a variable key for load data.
Variables ¶
var ( ErrUnknownPlan = terror.ClassExecutor.New(CodeUnknownPlan, "Unknown plan") ErrPrepareMulti = terror.ClassExecutor.New(CodePrepareMulti, "Can not prepare multiple statements") ErrStmtNotFound = terror.ClassExecutor.New(CodeStmtNotFound, "Prepared statement not found") ErrSchemaChanged = terror.ClassExecutor.New(CodeSchemaChanged, "Schema has changed") ErrWrongParamCount = terror.ClassExecutor.New(CodeWrongParamCount, "Wrong parameter count") ErrRowKeyCount = terror.ClassExecutor.New(CodeRowKeyCount, "Wrong row key entry count") ErrPrepareDDL = terror.ClassExecutor.New(CodePrepareDDL, "Can not prepare DDL statements") )
Error instances.
var BaseLookupTableTaskSize = 1024
BaseLookupTableTaskSize represents base number of handles for a lookupTableTask.
var MaxLookupTableTaskSize = 20480
MaxLookupTableTaskSize represents max number of handles for a lookupTableTask.
Functions ¶
Types ¶
type ApplyExec ¶
type ApplyExec struct { Src Executor // contains filtered or unexported fields }
ApplyExec represents apply executor. Apply gets one row from outer executor and gets one row from inner executor according to outer row.
func (*ApplyExec) Fields ¶
func (e *ApplyExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ApplyExec) Schema ¶
func (e *ApplyExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type CheckTableExec ¶
type CheckTableExec struct {
// contains filtered or unexported fields
}
CheckTableExec represents a check table executor.
func (*CheckTableExec) Close ¶
func (e *CheckTableExec) Close() error
Close implements plan.Plan Close interface.
func (*CheckTableExec) Fields ¶
func (e *CheckTableExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*CheckTableExec) Next ¶
func (e *CheckTableExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*CheckTableExec) Schema ¶
func (e *CheckTableExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type Closeable ¶
type Closeable interface { // Close closes the object. Close() error }
Closeable is a interface for closeable structures.
type Compiler ¶
type Compiler struct { }
Compiler compiles an ast.StmtNode to a stmt.Statement.
type DDLExec ¶
DDLExec represents a DDL executor.
func (*DDLExec) Fields ¶
func (e *DDLExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*DDLExec) Schema ¶
func (e *DDLExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type DeallocateExec ¶
type DeallocateExec struct { Name string // contains filtered or unexported fields }
DeallocateExec represent a DEALLOCATE executor.
func (*DeallocateExec) Close ¶
func (e *DeallocateExec) Close() error
Close implements plan.Plan Close interface.
func (*DeallocateExec) Fields ¶
func (e *DeallocateExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*DeallocateExec) Next ¶
func (e *DeallocateExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*DeallocateExec) Schema ¶
func (e *DeallocateExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type DeleteExec ¶
type DeleteExec struct { SelectExec Executor Tables []*ast.TableName IsMultiTable bool // contains filtered or unexported fields }
DeleteExec represents a delete executor. See https://dev.mysql.com/doc/refman/5.7/en/delete.html
func (*DeleteExec) Close ¶
func (e *DeleteExec) Close() error
Close implements Executor Close interface.
func (*DeleteExec) Fields ¶
func (e *DeleteExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface. Returns nil to indicate there is no output.
func (*DeleteExec) Next ¶
func (e *DeleteExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*DeleteExec) Schema ¶
func (e *DeleteExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type DistinctExec ¶
type DistinctExec struct { Src Executor // contains filtered or unexported fields }
DistinctExec represents Distinct executor.
func (*DistinctExec) Close ¶
func (e *DistinctExec) Close() error
Close implements Executor Close interface.
func (*DistinctExec) Fields ¶
func (e *DistinctExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*DistinctExec) Next ¶
func (e *DistinctExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*DistinctExec) Schema ¶
func (e *DistinctExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type DummyScanExec ¶
type DummyScanExec struct {
// contains filtered or unexported fields
}
DummyScanExec represents a dummy table.
func (*DummyScanExec) Close ¶
func (e *DummyScanExec) Close() error
Close implements Executor Close interface.
func (*DummyScanExec) Fields ¶
func (e *DummyScanExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*DummyScanExec) Next ¶
func (e *DummyScanExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*DummyScanExec) Schema ¶
func (e *DummyScanExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ExecuteExec ¶
type ExecuteExec struct { IS infoschema.InfoSchema Ctx context.Context Name string UsingVars []ast.ExprNode ID uint32 StmtExec Executor Stmt ast.StmtNode }
ExecuteExec represents an EXECUTE executor. It executes a prepared statement.
func (*ExecuteExec) Build ¶
func (e *ExecuteExec) Build() error
Build builds a prepared statement into an executor.
func (*ExecuteExec) Close ¶
func (e *ExecuteExec) Close() error
Close implements plan.Plan Close interface.
func (*ExecuteExec) Fields ¶
func (e *ExecuteExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ExecuteExec) Next ¶
func (e *ExecuteExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*ExecuteExec) Schema ¶
func (e *ExecuteExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type Executor ¶
type Executor interface { Fields() []*ast.ResultField Next() (*Row, error) Close() error Schema() expression.Schema }
Executor executes a query.
type ExistsExec ¶
type ExistsExec struct { Src Executor // contains filtered or unexported fields }
ExistsExec represents exists executor.
func (*ExistsExec) Close ¶
func (e *ExistsExec) Close() error
Close implements Executor Close interface.
func (*ExistsExec) Fields ¶
func (e *ExistsExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ExistsExec) Next ¶
func (e *ExistsExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*ExistsExec) Schema ¶
func (e *ExistsExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ExplainExec ¶
ExplainExec represents an explain executor. See https://dev.mysql.com/doc/refman/5.7/en/explain-output.html
func (*ExplainExec) Close ¶
func (e *ExplainExec) Close() error
Close implements Executor Close interface.
func (*ExplainExec) Fields ¶
func (e *ExplainExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ExplainExec) Next ¶
func (e *ExplainExec) Next() (*Row, error)
Next implements Execution Next interface.
func (*ExplainExec) Schema ¶
func (e *ExplainExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type FilterExec ¶
type FilterExec struct { Src Executor Condition ast.ExprNode // contains filtered or unexported fields }
FilterExec represents a filter executor.
func (*FilterExec) Close ¶
func (e *FilterExec) Close() error
Close implements Executor Close interface.
func (*FilterExec) Fields ¶
func (e *FilterExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*FilterExec) Next ¶
func (e *FilterExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*FilterExec) Schema ¶
func (e *FilterExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type GrantExec ¶
type GrantExec struct { Privs []*ast.PrivElem ObjectType ast.ObjectTypeType Level *ast.GrantLevel Users []*ast.UserSpec // contains filtered or unexported fields }
GrantExec executes GrantStmt.
func (*GrantExec) Fields ¶
func (e *GrantExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*GrantExec) Schema ¶
func (e *GrantExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type HashAggExec ¶
type HashAggExec struct { Src Executor ResultFields []*ast.ResultField AggFuncs []expression.AggregationFunction GroupByItems []expression.Expression // contains filtered or unexported fields }
HashAggExec deals with all the aggregate functions. It is built from Aggregate Plan. When Next() is called, it reads all the data from Src and updates all the items in AggFuncs.
func (*HashAggExec) Close ¶
func (e *HashAggExec) Close() error
Close implements Executor Close interface.
func (*HashAggExec) Fields ¶
func (e *HashAggExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*HashAggExec) Next ¶
func (e *HashAggExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*HashAggExec) Schema ¶
func (e *HashAggExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type HashJoinExec ¶
type HashJoinExec struct {
// contains filtered or unexported fields
}
HashJoinExec implements the hash join algorithm.
func (*HashJoinExec) Close ¶
func (e *HashJoinExec) Close() error
Close implements Executor Close interface.
func (*HashJoinExec) Fields ¶
func (e *HashJoinExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*HashJoinExec) Next ¶
func (e *HashJoinExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*HashJoinExec) Schema ¶
func (e *HashJoinExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type HashSemiJoinExec ¶
type HashSemiJoinExec struct {
// contains filtered or unexported fields
}
HashSemiJoinExec implements the hash join algorithm for semi join.
func (*HashSemiJoinExec) Close ¶
func (e *HashSemiJoinExec) Close() error
Close implements Executor Close interface.
func (*HashSemiJoinExec) Fields ¶
func (e *HashSemiJoinExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*HashSemiJoinExec) Next ¶
func (e *HashSemiJoinExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*HashSemiJoinExec) Schema ¶
func (e *HashSemiJoinExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type InsertExec ¶
type InsertExec struct { *InsertValues OnDuplicate []*ast.Assignment Priority int Ignore bool // contains filtered or unexported fields }
InsertExec represents an insert executor.
func (*InsertExec) Close ¶
func (e *InsertExec) Close() error
Close implements Executor Close interface.
func (*InsertExec) Fields ¶
func (e *InsertExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface. Returns nil to indicate there is no output.
func (*InsertExec) Next ¶
func (e *InsertExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*InsertExec) Schema ¶
func (e *InsertExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type InsertValues ¶
type InsertValues struct { SelectExec Executor Table table.Table Columns []*ast.ColumnName Lists [][]ast.ExprNode Setlist []*ast.Assignment IsPrepare bool // contains filtered or unexported fields }
InsertValues is the data to insert.
type LimitExec ¶
type LimitExec struct { Src Executor Offset uint64 Count uint64 Idx uint64 // contains filtered or unexported fields }
LimitExec represents limit executor
func (*LimitExec) Fields ¶
func (e *LimitExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*LimitExec) Schema ¶
func (e *LimitExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type LoadData ¶
type LoadData struct { IsLocal bool // contains filtered or unexported fields }
LoadData represents a load data executor.
func (*LoadData) Fields ¶
func (e *LoadData) Fields() []*ast.ResultField
Fields implements Executor Fields interface. Returns nil to indicate there is no output.
func (*LoadData) Schema ¶
func (e *LoadData) Schema() expression.Schema
Schema implements Executor Schema interface.
type LoadDataInfo ¶
type LoadDataInfo struct { Path string Table table.Table FieldsInfo *ast.FieldsClause LinesInfo *ast.LinesClause // contains filtered or unexported fields }
LoadDataInfo saves the information of loading data operation.
func NewLoadDataInfo ¶
NewLoadDataInfo returns a LoadDataInfo structure, and it's only used for tests now.
func (*LoadDataInfo) InsertData ¶
func (e *LoadDataInfo) InsertData(prevData, curData []byte) ([]byte, error)
InsertData inserts data into specified table according to the specified format. If it has the rest of data isn't completed the processing, then is returns without completed data. If prevData isn't nil and curData is nil, there are no other data to deal with and the isEOF is true.
type MaxOneRowExec ¶
type MaxOneRowExec struct { Src Executor // contains filtered or unexported fields }
MaxOneRowExec checks if a query returns no more than one row.
func (*MaxOneRowExec) Close ¶
func (e *MaxOneRowExec) Close() error
Close implements Executor Close interface.
func (*MaxOneRowExec) Fields ¶
func (e *MaxOneRowExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*MaxOneRowExec) Next ¶
func (e *MaxOneRowExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*MaxOneRowExec) Schema ¶
func (e *MaxOneRowExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type PrepareExec ¶
type PrepareExec struct { IS infoschema.InfoSchema Ctx context.Context Name string SQLText string ID uint32 ResultFields []*ast.ResultField ParamCount int Err error }
PrepareExec represents a PREPARE executor.
func (*PrepareExec) Close ¶
func (e *PrepareExec) Close() error
Close implements plan.Plan Close interface.
func (*PrepareExec) DoPrepare ¶
func (e *PrepareExec) DoPrepare()
DoPrepare prepares the statement, it can be called multiple times without side effect.
func (*PrepareExec) Fields ¶
func (e *PrepareExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*PrepareExec) Next ¶
func (e *PrepareExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*PrepareExec) Schema ¶
func (e *PrepareExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type Prepared ¶
type Prepared struct { Stmt ast.StmtNode Params []*ast.ParamMarkerExpr SchemaVersion int64 }
Prepared represents a prepared statement.
type ProjectionExec ¶
type ProjectionExec struct { Src Executor ResultFields []*ast.ResultField // contains filtered or unexported fields }
ProjectionExec represents a select fields executor.
func (*ProjectionExec) Close ¶
func (e *ProjectionExec) Close() error
Close implements Executor Close interface.
func (*ProjectionExec) Fields ¶
func (e *ProjectionExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ProjectionExec) Next ¶
func (e *ProjectionExec) Next() (retRow *Row, err error)
Next implements Executor Next interface.
func (*ProjectionExec) Schema ¶
func (e *ProjectionExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ReplaceExec ¶
type ReplaceExec struct { *InsertValues Priority int // contains filtered or unexported fields }
ReplaceExec represents a replace executor.
func (*ReplaceExec) Close ¶
func (e *ReplaceExec) Close() error
Close implements Executor Close interface.
func (*ReplaceExec) Fields ¶
func (e *ReplaceExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface. Returns nil to indicate there is no output.
func (*ReplaceExec) Next ¶
func (e *ReplaceExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*ReplaceExec) Schema ¶
func (e *ReplaceExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ReverseExec ¶
type ReverseExec struct { Src Executor // contains filtered or unexported fields }
ReverseExec produces reverse ordered result, it is used to wrap executors that do not support reverse scan.
func (*ReverseExec) Close ¶
func (e *ReverseExec) Close() error
Close implements Executor Close interface.
func (*ReverseExec) Fields ¶
func (e *ReverseExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ReverseExec) Next ¶
func (e *ReverseExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*ReverseExec) Schema ¶
func (e *ReverseExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type Row ¶
type Row struct { // Data is the output record data for current Plan. Data []types.Datum RowKeys []*RowKeyEntry }
Row represents a record row.
type RowKeyEntry ¶
type RowKeyEntry struct { // The table which this row come from. Tbl table.Table // Row key. Handle int64 // Table alias name. TableAsName *model.CIStr }
RowKeyEntry is designed for Update/Delete statement in multi-table mode, we should know which table this row comes from.
type SelectLockExec ¶
type SelectLockExec struct { Src Executor Lock ast.SelectLockType // contains filtered or unexported fields }
SelectLockExec represents a select lock executor.
func (*SelectLockExec) Close ¶
func (e *SelectLockExec) Close() error
Close implements Executor Close interface.
func (*SelectLockExec) Fields ¶
func (e *SelectLockExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*SelectLockExec) Next ¶
func (e *SelectLockExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*SelectLockExec) Schema ¶
func (e *SelectLockExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type SelectionExec ¶
type SelectionExec struct { Src Executor Condition expression.Expression // contains filtered or unexported fields }
SelectionExec represents a filter executor.
func (*SelectionExec) Close ¶
func (e *SelectionExec) Close() error
Close implements Executor Close interface.
func (*SelectionExec) Fields ¶
func (e *SelectionExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*SelectionExec) Next ¶
func (e *SelectionExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*SelectionExec) Schema ¶
func (e *SelectionExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ShowDDLExec ¶
type ShowDDLExec struct {
// contains filtered or unexported fields
}
ShowDDLExec represents a show DDL executor.
func (*ShowDDLExec) Close ¶
func (e *ShowDDLExec) Close() error
Close implements Executor Close interface.
func (*ShowDDLExec) Fields ¶
func (e *ShowDDLExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ShowDDLExec) Next ¶
func (e *ShowDDLExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*ShowDDLExec) Schema ¶
func (e *ShowDDLExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type ShowExec ¶
type ShowExec struct { Tp ast.ShowStmtType // Databases/Tables/Columns/.... DBName model.CIStr Table *ast.TableName // Used for showing columns. Column *ast.ColumnName // Used for `desc table column`. Flag int // Some flag parsed from sql, such as FULL. Full bool User string // Used for show grants. // Used by show variables GlobalScope bool // contains filtered or unexported fields }
ShowExec represents a show executor.
func (*ShowExec) Fields ¶
func (e *ShowExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*ShowExec) Schema ¶
func (e *ShowExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type SimpleExec ¶
SimpleExec represents simple statement executor. For statements do simple execution. includes `UseStmt`, 'SetStmt`, `DoStmt`, `BeginStmt`, `CommitStmt`, `RollbackStmt`. TODO: list all simple statements.
func (*SimpleExec) Close ¶
func (e *SimpleExec) Close() error
Close implements Executor Close interface.
func (*SimpleExec) Fields ¶
func (e *SimpleExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*SimpleExec) Next ¶
func (e *SimpleExec) Next() (*Row, error)
Next implements Execution Next interface.
func (*SimpleExec) Schema ¶
func (e *SimpleExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type SortExec ¶
type SortExec struct { Src Executor ByItems []*plan.ByItems Rows []*orderByRow Idx int // contains filtered or unexported fields }
SortExec represents sorting executor.
func (*SortExec) Fields ¶
func (e *SortExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*SortExec) Schema ¶
func (e *SortExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type StreamAggExec ¶
type StreamAggExec struct { Src Executor ResultFields []*ast.ResultField AggFuncs []expression.AggregationFunction GroupByItems []expression.Expression // contains filtered or unexported fields }
StreamAggExec deals with all the aggregate functions. It assumes all the input datas is sorted by group by key. When Next() is called, it will return a result for the same group.
func (*StreamAggExec) Close ¶
func (e *StreamAggExec) Close() error
Close implements Executor Close interface.
func (*StreamAggExec) Fields ¶
func (e *StreamAggExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*StreamAggExec) Next ¶
func (e *StreamAggExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*StreamAggExec) Schema ¶
func (e *StreamAggExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type TableDualExec ¶
type TableDualExec struct {
// contains filtered or unexported fields
}
TableDualExec represents a dual table executor.
func (*TableDualExec) Close ¶
func (e *TableDualExec) Close() error
Close implements Executor interface.
func (*TableDualExec) Fields ¶
func (e *TableDualExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*TableDualExec) Init ¶
func (e *TableDualExec) Init()
Init implements Executor Init interface.
func (*TableDualExec) Next ¶
func (e *TableDualExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*TableDualExec) Schema ¶
func (e *TableDualExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type TableScanExec ¶
type TableScanExec struct {
// contains filtered or unexported fields
}
TableScanExec is a table scan executor without result fields.
func (*TableScanExec) Close ¶
func (e *TableScanExec) Close() error
Close implements Executor Close interface.
func (*TableScanExec) Fields ¶
func (e *TableScanExec) Fields() []*ast.ResultField
Fields implements Executor interface.
func (*TableScanExec) Next ¶
func (e *TableScanExec) Next() (*Row, error)
Next implements Executor interface.
func (*TableScanExec) Schema ¶
func (e *TableScanExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type TopnExec ¶
type TopnExec struct { SortExec // contains filtered or unexported fields }
TopnExec implements a top n algo.
type TrimExec ¶
type TrimExec struct { Src Executor // contains filtered or unexported fields }
TrimExec truncates src rows.
func (*TrimExec) Fields ¶
func (e *TrimExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*TrimExec) Schema ¶
func (e *TrimExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type UnionExec ¶
type UnionExec struct { Srcs []Executor // contains filtered or unexported fields }
UnionExec represents union executor.
func (*UnionExec) Fields ¶
func (e *UnionExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*UnionExec) Schema ¶
func (e *UnionExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type UnionScanExec ¶
type UnionScanExec struct { Src Executor // contains filtered or unexported fields }
UnionScanExec merges the rows from dirty table and the rows from XAPI request.
func (*UnionScanExec) Close ¶
func (us *UnionScanExec) Close() error
Close implements Executor Close interface.
func (*UnionScanExec) Fields ¶
func (us *UnionScanExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface.
func (*UnionScanExec) Len ¶
func (us *UnionScanExec) Len() int
Len implements sort.Interface interface.
func (*UnionScanExec) Less ¶
func (us *UnionScanExec) Less(i, j int) bool
Less implements sort.Interface interface.
func (*UnionScanExec) Next ¶
func (us *UnionScanExec) Next() (*Row, error)
Next implements Execution Next interface.
func (*UnionScanExec) Schema ¶
func (us *UnionScanExec) Schema() expression.Schema
Schema implements Executor Schema interface.
func (*UnionScanExec) Swap ¶
func (us *UnionScanExec) Swap(i, j int)
Swap implements sort.Interface interface.
type UpdateExec ¶
type UpdateExec struct { SelectExec Executor OrderedList []*expression.Assignment // contains filtered or unexported fields }
UpdateExec represents a new update executor.
func (*UpdateExec) Close ¶
func (e *UpdateExec) Close() error
Close implements Executor Close interface.
func (*UpdateExec) Fields ¶
func (e *UpdateExec) Fields() []*ast.ResultField
Fields implements Executor Fields interface. Returns nil to indicate there is no output.
func (*UpdateExec) Next ¶
func (e *UpdateExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*UpdateExec) Schema ¶
func (e *UpdateExec) Schema() expression.Schema
Schema implements Executor Schema interface.
type XSelectIndexExec ¶
type XSelectIndexExec struct {
// contains filtered or unexported fields
}
XSelectIndexExec represents XAPI select index executor without result fields.
func (*XSelectIndexExec) Close ¶
func (e *XSelectIndexExec) Close() error
Close implements Exec Close interface.
func (*XSelectIndexExec) Fields ¶
func (e *XSelectIndexExec) Fields() []*ast.ResultField
Fields implements Exec Fields interface.
func (*XSelectIndexExec) Next ¶
func (e *XSelectIndexExec) Next() (*Row, error)
Next implements Executor Next interface.
func (*XSelectIndexExec) Schema ¶
func (e *XSelectIndexExec) Schema() expression.Schema
Schema implements Exec Schema interface.
type XSelectTableExec ¶
type XSelectTableExec struct { Columns []*model.ColumnInfo // contains filtered or unexported fields }
XSelectTableExec represents XAPI select executor without result fields.
func (*XSelectTableExec) Close ¶
func (e *XSelectTableExec) Close() error
Close implements Executor Close interface.
func (*XSelectTableExec) Fields ¶
func (e *XSelectTableExec) Fields() []*ast.ResultField
Fields implements Executor interface.
func (*XSelectTableExec) Next ¶
func (e *XSelectTableExec) Next() (*Row, error)
Next implements Executor interface.
func (*XSelectTableExec) Schema ¶
func (e *XSelectTableExec) Schema() expression.Schema
Schema implements Executor Schema interface.