Documentation ¶
Index ¶
- Variables
- func ConnectPullExecutors(childExecutors []PullExecutor, parent PullExecutor)
- type ExecutorType
- type PullChain
- func (c *PullChain) AddChild(child PullExecutor)
- func (c *PullChain) Close()
- 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) RowsFactory() *common.RowsFactory
- 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) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullIndexReader) SetColNames(colNames []string)
- func (p *PullIndexReader) SetParent(parent PullExecutor)
- type PullLimit
- func (p *PullLimit) AddChild(child PullExecutor)
- func (p *PullLimit) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullLimit) SetColNames(colNames []string)
- func (p *PullLimit) SetParent(parent PullExecutor)
- type PullProjection
- func (p *PullProjection) AddChild(child PullExecutor)
- func (p *PullProjection) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullProjection) SetColNames(colNames []string)
- func (p *PullProjection) SetParent(parent PullExecutor)
- type PullSelect
- func (p *PullSelect) AddChild(child PullExecutor)
- func (p *PullSelect) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullSelect) SetColNames(colNames []string)
- func (p *PullSelect) SetParent(parent PullExecutor)
- type PullSort
- func (p *PullSort) AddChild(child PullExecutor)
- func (p *PullSort) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullSort) SetColNames(colNames []string)
- func (p *PullSort) SetParent(parent PullExecutor)
- type PullTableScan
- func (p *PullTableScan) AddChild(child PullExecutor)
- func (p *PullTableScan) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *PullTableScan) SetColNames(colNames []string)
- func (p *PullTableScan) SetParent(parent PullExecutor)
- type RemoteExecutor
- func (p *RemoteExecutor) AddChild(child PullExecutor)
- func (re *RemoteExecutor) Close()
- 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) RowsFactory() *common.RowsFactory
- 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) Close()
- 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) RowsFactory() *common.RowsFactory
- func (p *StaticRows) SetColNames(colNames []string)
- func (p *StaticRows) SetParent(parent PullExecutor)
Constants ¶
This section is empty.
Variables ¶
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) RowsFactory ¶ added in v0.1.1
func (c *PullChain) RowsFactory() *common.RowsFactory
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) RowsFactory() *common.RowsFactory Close() }
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) RowsFactory ¶ added in v0.1.1
func (p *PullIndexReader) RowsFactory() *common.RowsFactory
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) RowsFactory ¶ added in v0.1.1
func (p *PullLimit) RowsFactory() *common.RowsFactory
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) RowsFactory ¶ added in v0.1.1
func (p *PullProjection) RowsFactory() *common.RowsFactory
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) RowsFactory ¶ added in v0.1.1
func (p *PullSelect) RowsFactory() *common.RowsFactory
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) RowsFactory ¶ added in v0.1.1
func (p *PullSort) RowsFactory() *common.RowsFactory
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) RowsFactory ¶ added in v0.1.1
func (p *PullTableScan) RowsFactory() *common.RowsFactory
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, pointGetShardIDs []uint64) *RemoteExecutor
func (*RemoteExecutor) AddChild ¶
func (p *RemoteExecutor) AddChild(child PullExecutor)
func (*RemoteExecutor) Close ¶ added in v0.1.1
func (re *RemoteExecutor) Close()
Close - We override the Close method for PullExecutor and we call our remote shards with limit zero. This signals them to release any resources. Close is only called when the query is closed before all rows are returned - e.g. if a limit has been provided on the query and has been reached
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) RowsFactory ¶ added in v0.1.1
func (p *RemoteExecutor) RowsFactory() *common.RowsFactory
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 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) RowsFactory ¶ added in v0.1.1
func (p *StaticRows) RowsFactory() *common.RowsFactory
func (*StaticRows) SetColNames ¶
func (p *StaticRows) SetColNames(colNames []string)
func (*StaticRows) SetParent ¶
func (p *StaticRows) SetParent(parent PullExecutor)