Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FreeRegisters ¶
func FreeRegisters(proc *Process)
Types ¶
type Limitation ¶
type Limitation struct {
// Size, memory threshold.
Size int64
// BatchRows, max rows for batch.
BatchRows int64
// BatchSize, max size for batch.
BatchSize int64
// PartitionRows, max rows for partition.
PartitionRows int64
}
Limitation specifies the maximum resources that can be used in one query.
type Process ¶
type Process struct {
// Id, query id.
Id string
Reg Register
Lim Limitation
Mp *mheap.Mheap
Cancel context.CancelFunc
}
Process contains context used in query execution one or more pipeline will be generated for one query, and one pipeline has one process instance.
type Register ¶
type Register struct {
// Ss, temporarily stores the row number list in the execution of operators
// and it can be reused in the future execution.
Ss [][]int64
// InputBatch, stores the result of the previous operator.
InputBatch *batch.Batch
// Vecs, temporarily stores the column data in the execution of operators
// and it can be reused in the future execution to avoid mem alloc and type casting overhead.
Vecs []*vector.Vector
// MergeReceivers, receives result of multi previous operators from other pipelines
// e.g. merge operator.
MergeReceivers []*WaitRegister
}
Register used in execution pipeline and shared with all operators of the same pipeline.
Click to show internal directories.
Click to hide internal directories.