process

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FreeRegisters

func FreeRegisters(proc *Process)

func Get

func Get(proc *Process, size int64, typ types.Type) (*vector.Vector, error)

func GetSels

func GetSels(proc *Process) []int64

func Put

func Put(proc *Process, vec *vector.Vector)

func PutSels

func PutSels(sels []int64, 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.

func New

func New(m *mheap.Mheap) *Process

New creates a new Process. A process stores the execution context.

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.

type WaitRegister

type WaitRegister struct {
	Ctx context.Context
	Ch  chan *batch.Batch
}

WaitRegister channel

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL