Documentation
¶
Index ¶
- type Shuffle
- func (shuffle *Shuffle) Call(proc *process.Process) (vm.CallResult, error)
- func (shuffle *Shuffle) ExecProjection(proc *process.Process, input *batch.Batch) (*batch.Batch, error)
- func (shuffle *Shuffle) Free(proc *process.Process, pipelineFailed bool, err error)
- func (shuffle *Shuffle) GetOperatorBase() *vm.OperatorBase
- func (shuffle *Shuffle) GetShufflePool() *ShufflePool
- func (shuffle *Shuffle) OpType() vm.OpType
- func (shuffle *Shuffle) Prepare(proc *process.Process) error
- func (shuffle *Shuffle) Release()
- func (shuffle *Shuffle) Reset(proc *process.Process, pipelineFailed bool, err error)
- func (shuffle *Shuffle) SetShufflePool(sp *ShufflePool)
- func (shuffle *Shuffle) String(buf *bytes.Buffer)
- func (shuffle Shuffle) TypeName() string
- type ShufflePool
- func (sp *ShufflePool) Ending() bool
- func (sp *ShufflePool) GetEndingBatch(proc *process.Process) *batch.Batch
- func (sp *ShufflePool) GetFullBatch(proc *process.Process) *batch.Batch
- func (sp *ShufflePool) Hold()
- func (sp *ShufflePool) Print()
- func (sp *ShufflePool) Reset(m *mpool.MPool, force bool)
- func (sp *ShufflePool) Size() int64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Shuffle ¶
type Shuffle struct {
ShuffleColIdx int32
ShuffleType int32
BucketNum int32
ShuffleColMin int64
ShuffleColMax int64
ShuffleRangeUint64 []uint64
ShuffleRangeInt64 []int64
RuntimeFilterSpec *plan.RuntimeFilterSpec
ShuffleExpr *plan.Expr
vm.OperatorBase
// contains filtered or unexported fields
}
func NewArgument ¶ added in v1.2.0
func NewArgument() *Shuffle
func (*Shuffle) Call ¶
there are two ways for shuffle to send a batch if a batch belongs to one bucket, send this batch directly, and shuffle need to do nothing else split this batch into pieces, write data into pool. if one bucket is full, send this bucket. for now, we shuffle null to the first bucket
func (*Shuffle) ExecProjection ¶
func (*Shuffle) GetOperatorBase ¶
func (shuffle *Shuffle) GetOperatorBase() *vm.OperatorBase
func (*Shuffle) GetShufflePool ¶
func (shuffle *Shuffle) GetShufflePool() *ShufflePool
func (*Shuffle) SetShufflePool ¶
func (shuffle *Shuffle) SetShufflePool(sp *ShufflePool)
type ShufflePool ¶
type ShufflePool struct {
// contains filtered or unexported fields
}
func NewShufflePool ¶
func NewShufflePool(bucketNum int32, maxHolders int32) *ShufflePool
func (*ShufflePool) Ending ¶
func (sp *ShufflePool) Ending() bool
func (*ShufflePool) GetEndingBatch ¶
func (sp *ShufflePool) GetEndingBatch(proc *process.Process) *batch.Batch
shuffle operator is ending, release buf and sending remaining batches
func (*ShufflePool) GetFullBatch ¶
func (sp *ShufflePool) GetFullBatch(proc *process.Process) *batch.Batch
if there is full batch (>8192 rows) in pool, return it and put buf in the place to continue writing into pool
func (*ShufflePool) Hold ¶
func (sp *ShufflePool) Hold()
func (*ShufflePool) Print ¶
func (sp *ShufflePool) Print()
func (*ShufflePool) Size ¶
func (sp *ShufflePool) Size() int64
Click to show internal directories.
Click to hide internal directories.