process

package
v0.5.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSels

func GetSels(proc *Process) []int64

func PutSels

func PutSels(sels []int64, proc *Process)

Types

type AnalyzeInfo added in v0.5.1

type AnalyzeInfo struct {
	// NodeId, index of query's node list
	NodeId int32
	// InputRows, number of rows accepted by node
	InputRows int64
	// OutputRows, number of rows output by node
	OutputRows int64
	// TimeConsumed, time taken by the node in milliseconds
	TimeConsumed int64
	// InputSize, data size accepted by node
	InputSize int64
	// OutputSize, data size output by node
	OutputSize int64
	// MemorySize, memory alloc by node
	MemorySize int64
}

explain analyze information for query

type Limitation

type Limitation struct {
	// Size, memory threshold for operator.
	Size int64
	// BatchRows, max rows for batch.
	BatchRows int64
	// BatchSize, max size for batch.
	BatchSize int64
	// PartitionRows, max rows for partition.
	PartitionRows int64
	// ReaderSize, memory threshold for storage's reader
	ReaderSize 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

	// unix timestamp
	UnixTime int64

	// snapshot is transaction context
	Snapshot []byte

	AnalInfo *AnalyzeInfo

	SessionInfo SessionInfo

	// snapshot is transaction context
	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.

func NewFromProc added in v0.5.0

func NewFromProc(m *mheap.Mheap, p *Process, regNumber int) *Process

NewFromProc create a new Process based on another process.

func (*Process) AllocConstNullVector added in v0.5.1

func (proc *Process) AllocConstNullVector(typ types.Type, cnt int) *vector.Vector

func (*Process) AllocScalarNullVector added in v0.5.0

func (proc *Process) AllocScalarNullVector(typ types.Type) *vector.Vector

func (*Process) AllocScalarVector added in v0.5.0

func (proc *Process) AllocScalarVector(typ types.Type) *vector.Vector

func (*Process) AllocVector added in v0.5.0

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

func (*Process) GetBoolTyp added in v0.5.0

func (proc *Process) GetBoolTyp(typ types.Type) (typ2 types.Type)

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
	// 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 SessionInfo added in v0.5.0

type SessionInfo struct {
	User         string
	Host         string
	Role         string
	ConnectionID uint64
	Database     string
	Version      string
}

session information

func (*SessionInfo) GetCharset added in v0.5.0

func (si *SessionInfo) GetCharset() string

func (*SessionInfo) GetCollation added in v0.5.0

func (si *SessionInfo) GetCollation() string

func (*SessionInfo) GetConnectionID added in v0.5.0

func (si *SessionInfo) GetConnectionID() uint64

func (*SessionInfo) GetDatabase added in v0.5.0

func (si *SessionInfo) GetDatabase() string

func (*SessionInfo) GetHost added in v0.5.0

func (si *SessionInfo) GetHost() string

func (*SessionInfo) GetRole added in v0.5.0

func (si *SessionInfo) GetRole() string

func (*SessionInfo) GetUser added in v0.5.0

func (si *SessionInfo) GetUser() string

func (*SessionInfo) GetUserHost added in v0.5.0

func (si *SessionInfo) GetUserHost() string

func (*SessionInfo) GetVersion added in v0.5.0

func (si *SessionInfo) GetVersion() string

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