Documentation
¶
Index ¶
- Variables
- func ConnectPullExecutors(childExecutors []PullExecutor, parent PullExecutor)
- type ExecutorType
- type PullChain
- func (c *PullChain) AddChild(child PullExecutor)
- func (c *PullChain) ColNames() []string
- func (c *PullChain) ColTypes() []common.ColumnType
- func (c *PullChain) GetChildren() []PullExecutor
- func (c *PullChain) GetParent() PullExecutor
- func (c *PullChain) GetRows(limit int) (*common.Rows, error)
- func (c *PullChain) SetColNames(colNames []string)
- func (c *PullChain) SetParent(parent PullExecutor)
- type PullExecutor
- type PullIndexReader
- func (p *PullIndexReader) AddChild(child PullExecutor)
- func (p *PullIndexReader) ColNames() []string
- func (p *PullIndexReader) ColTypes() []common.ColumnType
- func (p *PullIndexReader) GetChildren() []PullExecutor
- func (p *PullIndexReader) GetParent() PullExecutor
- func (p *PullIndexReader) GetRows(limit int) (rows *common.Rows, err error)
- func (p *PullIndexReader) KeyCols() []int
- func (p *PullIndexReader) SetColNames(colNames []string)
- func (p *PullIndexReader) SetParent(parent PullExecutor)
- type PullLimit
- func (p *PullLimit) AddChild(child PullExecutor)
- func (p *PullLimit) ColNames() []string
- func (p *PullLimit) ColTypes() []common.ColumnType
- func (p *PullLimit) GetChildren() []PullExecutor
- func (p *PullLimit) GetParent() PullExecutor
- func (l *PullLimit) GetRows(maxRowsToReturn int) (*common.Rows, error)
- func (p *PullLimit) KeyCols() []int
- func (p *PullLimit) SetColNames(colNames []string)
- func (p *PullLimit) SetParent(parent PullExecutor)
- type PullProjection
- func (p *PullProjection) AddChild(child PullExecutor)
- func (p *PullProjection) ColNames() []string
- func (p *PullProjection) ColTypes() []common.ColumnType
- func (p *PullProjection) GetChildren() []PullExecutor
- func (p *PullProjection) GetParent() PullExecutor
- func (p *PullProjection) GetRows(limit int) (rows *common.Rows, err error)
- func (p *PullProjection) KeyCols() []int
- func (p *PullProjection) SetColNames(colNames []string)
- func (p *PullProjection) SetParent(parent PullExecutor)
- type PullSelect
- func (p *PullSelect) AddChild(child PullExecutor)
- func (p *PullSelect) ColNames() []string
- func (p *PullSelect) ColTypes() []common.ColumnType
- func (p *PullSelect) GetChildren() []PullExecutor
- func (p *PullSelect) GetParent() PullExecutor
- func (p *PullSelect) GetRows(limit int) (rows *common.Rows, err error)
- func (p *PullSelect) KeyCols() []int
- func (p *PullSelect) SetColNames(colNames []string)
- func (p *PullSelect) SetParent(parent PullExecutor)
- type PullSort
- func (p *PullSort) AddChild(child PullExecutor)
- func (p *PullSort) ColNames() []string
- func (p *PullSort) ColTypes() []common.ColumnType
- func (p *PullSort) GetChildren() []PullExecutor
- func (p *PullSort) GetParent() PullExecutor
- func (p *PullSort) GetRows(limit int) (*common.Rows, error)
- func (p *PullSort) KeyCols() []int
- func (p *PullSort) SetColNames(colNames []string)
- func (p *PullSort) SetParent(parent PullExecutor)
- type PullTableScan
- func (p *PullTableScan) AddChild(child PullExecutor)
- func (p *PullTableScan) ColNames() []string
- func (p *PullTableScan) ColTypes() []common.ColumnType
- func (p *PullTableScan) GetChildren() []PullExecutor
- func (p *PullTableScan) GetParent() PullExecutor
- func (p *PullTableScan) GetRows(limit int) (rows *common.Rows, err error)
- func (p *PullTableScan) KeyCols() []int
- func (p *PullTableScan) SetColNames(colNames []string)
- func (p *PullTableScan) SetParent(parent PullExecutor)
- type RemoteExecutor
- func (p *RemoteExecutor) AddChild(child PullExecutor)
- func (p *RemoteExecutor) ColNames() []string
- func (p *RemoteExecutor) ColTypes() []common.ColumnType
- func (p *RemoteExecutor) GetChildren() []PullExecutor
- func (p *RemoteExecutor) GetParent() PullExecutor
- func (re *RemoteExecutor) GetRows(limit int) (rows *common.Rows, err error)
- func (p *RemoteExecutor) KeyCols() []int
- func (p *RemoteExecutor) SetColNames(colNames []string)
- func (p *RemoteExecutor) SetParent(parent PullExecutor)
- type ScanRange
- type StaticRows
- func (p *StaticRows) AddChild(child PullExecutor)
- func (p *StaticRows) ColNames() []string
- func (p *StaticRows) ColTypes() []common.ColumnType
- func (p *StaticRows) GetChildren() []PullExecutor
- func (p *StaticRows) GetParent() PullExecutor
- func (s *StaticRows) GetRows(limit int) (rows *common.Rows, err error)
- func (p *StaticRows) KeyCols() []int
- func (p *StaticRows) SetColNames(colNames []string)
- func (p *StaticRows) SetParent(parent PullExecutor)
Constants ¶
This section is empty.
Variables ¶
View Source
var Empty = &StaticRows{rows: common.NewRows(nil, 0)}
Empty executor.
Functions ¶
func ConnectPullExecutors ¶
func ConnectPullExecutors(childExecutors []PullExecutor, parent PullExecutor)
Types ¶
type ExecutorType ¶
type ExecutorType uint32
type PullChain ¶
type PullChain struct {
// contains filtered or unexported fields
}
PullChain combines a sequence of executors in a linked list and exposes them as a single executor.
func NewPullChain ¶
func NewPullChain(head PullExecutor, tail ...PullExecutor) *PullChain
func (*PullChain) AddChild ¶
func (c *PullChain) AddChild(child PullExecutor)
func (*PullChain) ColTypes ¶
func (c *PullChain) ColTypes() []common.ColumnType
func (*PullChain) GetChildren ¶
func (c *PullChain) GetChildren() []PullExecutor
func (*PullChain) GetParent ¶
func (c *PullChain) GetParent() PullExecutor
func (*PullChain) SetColNames ¶
func (*PullChain) SetParent ¶
func (c *PullChain) SetParent(parent PullExecutor)
type PullExecutor ¶
type PullExecutor interface {
/*
GetRows returns up to a maximum of limit rows. If less than limit rows are returned that means there are no more
rows to return. If limit rows are returned it means there may be more rows to return and the caller should call
GetRows again until less than limit rows are returned.
*/
GetRows(limit int) (rows *common.Rows, err error)
SetParent(parent PullExecutor)
AddChild(child PullExecutor)
GetParent() PullExecutor
GetChildren() []PullExecutor
ColNames() []string
ColTypes() []common.ColumnType
SetColNames(colNames []string)
}
type PullIndexReader ¶
type PullIndexReader struct {
// contains filtered or unexported fields
}
func NewPullIndexReader ¶
func (*PullIndexReader) AddChild ¶
func (p *PullIndexReader) AddChild(child PullExecutor)
func (*PullIndexReader) ColTypes ¶
func (p *PullIndexReader) ColTypes() []common.ColumnType
func (*PullIndexReader) GetChildren ¶
func (p *PullIndexReader) GetChildren() []PullExecutor
func (*PullIndexReader) GetParent ¶
func (p *PullIndexReader) GetParent() PullExecutor
func (*PullIndexReader) GetRows ¶
func (p *PullIndexReader) GetRows(limit int) (rows *common.Rows, err error)
func (*PullIndexReader) SetColNames ¶
func (p *PullIndexReader) SetColNames(colNames []string)
func (*PullIndexReader) SetParent ¶
func (p *PullIndexReader) SetParent(parent PullExecutor)
type PullLimit ¶
type PullLimit struct {
// contains filtered or unexported fields
}
PullLimit is an executor for LIMIT <offset>, <count> statement and its variations.
func NewPullLimit ¶
func NewPullLimit(colNames []string, colTypes []common.ColumnType, count, offset uint64) *PullLimit
func (*PullLimit) AddChild ¶
func (p *PullLimit) AddChild(child PullExecutor)
func (*PullLimit) ColTypes ¶
func (p *PullLimit) ColTypes() []common.ColumnType
func (*PullLimit) GetChildren ¶
func (p *PullLimit) GetChildren() []PullExecutor
func (*PullLimit) GetParent ¶
func (p *PullLimit) GetParent() PullExecutor
func (*PullLimit) SetColNames ¶
func (p *PullLimit) SetColNames(colNames []string)
func (*PullLimit) SetParent ¶
func (p *PullLimit) SetParent(parent PullExecutor)
type PullProjection ¶
type PullProjection struct {
// contains filtered or unexported fields
}
func NewPullProjection ¶
func NewPullProjection(colNames []string, colTypes []common.ColumnType, projColumns []*common.Expression) (*PullProjection, error)
func (*PullProjection) AddChild ¶
func (p *PullProjection) AddChild(child PullExecutor)
func (*PullProjection) ColTypes ¶
func (p *PullProjection) ColTypes() []common.ColumnType
func (*PullProjection) GetChildren ¶
func (p *PullProjection) GetChildren() []PullExecutor
func (*PullProjection) GetParent ¶
func (p *PullProjection) GetParent() PullExecutor
func (*PullProjection) GetRows ¶
func (p *PullProjection) GetRows(limit int) (rows *common.Rows, err error)
func (*PullProjection) SetColNames ¶
func (p *PullProjection) SetColNames(colNames []string)
func (*PullProjection) SetParent ¶
func (p *PullProjection) SetParent(parent PullExecutor)
type PullSelect ¶
type PullSelect struct {
// contains filtered or unexported fields
}
func NewPullSelect ¶
func NewPullSelect(colNames []string, colTypes []common.ColumnType, predicates []*common.Expression) *PullSelect
func (*PullSelect) AddChild ¶
func (p *PullSelect) AddChild(child PullExecutor)
func (*PullSelect) ColTypes ¶
func (p *PullSelect) ColTypes() []common.ColumnType
func (*PullSelect) GetChildren ¶
func (p *PullSelect) GetChildren() []PullExecutor
func (*PullSelect) GetParent ¶
func (p *PullSelect) GetParent() PullExecutor
func (*PullSelect) SetColNames ¶
func (p *PullSelect) SetColNames(colNames []string)
func (*PullSelect) SetParent ¶
func (p *PullSelect) SetParent(parent PullExecutor)
type PullSort ¶
type PullSort struct {
// contains filtered or unexported fields
}
PullSort - a simple in memory sort executor TODO this won't work for large resultsets - we need to store in chunks on disk and use a multi-way merge sort in that case
func NewPullSort ¶
func NewPullSort(colNames []string, colTypes []common.ColumnType, desc []bool, sortByExpressions []*common.Expression) *PullSort
func (*PullSort) AddChild ¶
func (p *PullSort) AddChild(child PullExecutor)
func (*PullSort) ColTypes ¶
func (p *PullSort) ColTypes() []common.ColumnType
func (*PullSort) GetChildren ¶
func (p *PullSort) GetChildren() []PullExecutor
func (*PullSort) GetParent ¶
func (p *PullSort) GetParent() PullExecutor
func (*PullSort) SetColNames ¶
func (p *PullSort) SetColNames(colNames []string)
func (*PullSort) SetParent ¶
func (p *PullSort) SetParent(parent PullExecutor)
type PullTableScan ¶
type PullTableScan struct {
// contains filtered or unexported fields
}
func NewPullTableScan ¶
func (*PullTableScan) AddChild ¶
func (p *PullTableScan) AddChild(child PullExecutor)
func (*PullTableScan) ColTypes ¶
func (p *PullTableScan) ColTypes() []common.ColumnType
func (*PullTableScan) GetChildren ¶
func (p *PullTableScan) GetChildren() []PullExecutor
func (*PullTableScan) GetParent ¶
func (p *PullTableScan) GetParent() PullExecutor
func (*PullTableScan) GetRows ¶
func (p *PullTableScan) GetRows(limit int) (rows *common.Rows, err error)
func (*PullTableScan) SetColNames ¶
func (p *PullTableScan) SetColNames(colNames []string)
func (*PullTableScan) SetParent ¶
func (p *PullTableScan) SetParent(parent PullExecutor)
type RemoteExecutor ¶
type RemoteExecutor struct {
RemoteDag PullExecutor
ShardIDs []uint64
// contains filtered or unexported fields
}
func NewRemoteExecutor ¶
func NewRemoteExecutor(remoteDAG PullExecutor, queryInfo *cluster.QueryExecutionInfo, colNames []string, colTypes []common.ColumnType, schemaName string, clust cluster.Cluster, pointGetShardID int64) *RemoteExecutor
func (*RemoteExecutor) AddChild ¶
func (p *RemoteExecutor) AddChild(child PullExecutor)
func (*RemoteExecutor) ColTypes ¶
func (p *RemoteExecutor) ColTypes() []common.ColumnType
func (*RemoteExecutor) GetChildren ¶
func (p *RemoteExecutor) GetChildren() []PullExecutor
func (*RemoteExecutor) GetParent ¶
func (p *RemoteExecutor) GetParent() PullExecutor
func (*RemoteExecutor) GetRows ¶
func (re *RemoteExecutor) GetRows(limit int) (rows *common.Rows, err error)
func (*RemoteExecutor) SetColNames ¶
func (p *RemoteExecutor) SetColNames(colNames []string)
func (*RemoteExecutor) SetParent ¶
func (p *RemoteExecutor) SetParent(parent PullExecutor)
type StaticRows ¶
type StaticRows struct {
// contains filtered or unexported fields
}
func NewSingleValueBigIntRow ¶
func NewSingleValueBigIntRow(val int64, colName string) *StaticRows
func NewStaticRows ¶
func NewStaticRows(colNames []string, rows *common.Rows) (*StaticRows, error)
NewStaticRows created static rows pull executor.
func (*StaticRows) AddChild ¶
func (p *StaticRows) AddChild(child PullExecutor)
func (*StaticRows) ColTypes ¶
func (p *StaticRows) ColTypes() []common.ColumnType
func (*StaticRows) GetChildren ¶
func (p *StaticRows) GetChildren() []PullExecutor
func (*StaticRows) GetParent ¶
func (p *StaticRows) GetParent() PullExecutor
func (*StaticRows) SetColNames ¶
func (p *StaticRows) SetColNames(colNames []string)
func (*StaticRows) SetParent ¶
func (p *StaticRows) SetParent(parent PullExecutor)
Click to show internal directories.
Click to hide internal directories.