vm

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2023 License: Apache-2.0 Imports: 42 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Top = iota
	Limit
	Order
	Group
	Output
	Offset
	Product
	Restrict
	Dispatch
	Connector
	Projection

	Join
	LoopJoin
	Left
	LoopLeft
	Single
	LoopSingle
	Semi
	LoopSemi
	Anti
	LoopAnti
	Mark
	LoopMark

	Merge
	MergeTop
	MergeLimit
	MergeOrder
	MergeGroup
	MergeOffset

	Deletion
	Insert
	Update
	External

	Minus
	Intersect
	IntersectAll

	HashBuild

	TableFunction
	// MergeBlock is used to recieve S3 block metLoc Info, and write
	// them to S3
	MergeBlock
	// LastInstructionOp is not a true operator and must set at last.
	// It was used by unit testing to ensure that
	// all functions related to instructions can reach 100% coverage.
	LastInstructionOp
)

Variables

This section is empty.

Functions

func Prepare

func Prepare(ins Instructions, proc *process.Process) error

Prepare range instructions and do init work for each operator's argument by calling its prepare function

func Run

func Run(ins Instructions, proc *process.Process) (end bool, err error)

func String

func String(ins Instructions, buf *bytes.Buffer)

String range instructions and call each operator's string function to show a query plan

Types

type Instruction

type Instruction struct {
	// Op specified the operator code of an instruction.
	Op int
	// Idx specified the analysis information index.
	Idx int
	// Arg contains the operand of this instruction.
	Arg InstructionArgument

	// flag for analyzeInfo record the row information
	IsFirst bool
	IsLast  bool
}

Instruction contains relational algebra

func (*Instruction) IsBrokenNode added in v0.6.0

func (ins *Instruction) IsBrokenNode() bool

func (Instruction) MarshalBinary added in v0.6.0

func (ins Instruction) MarshalBinary() ([]byte, error)

func (Instruction) UnmarshalBinary added in v0.6.0

func (ins Instruction) UnmarshalBinary(_ []byte) error

type InstructionArgument added in v0.6.0

type InstructionArgument interface {
	// Free release all the memory allocated from mPool in an operator.
	// pipelineFailed marks the process status of the pipeline when the method is called.
	Free(proc *process.Process, pipelineFailed bool)
}

type Instructions

type Instructions []Instruction

Directories

Path Synopsis
tae/common
A few allocators for TAE
A few allocators for TAE
tae/logtail/service
This package implements client and server for logtail push model.
This package implements client and server for logtail push model.
tae/mergesort/bools
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/decimal128s
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/decimal64s
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/numerics
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/rowid
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/txnts
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/uuids
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
tae/mergesort/varchar
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.

Jump to

Keyboard shortcuts

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