vm

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2022 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Top = iota
	Join
	Semi
	Left
	Limit
	Merge //5
	Order
	Group  //7
	Output //8
	Offset
	Product
	Restrict
	Dispatch
	Connector  //13
	Projection //14
	Anti
	Single //16
	Mark

	LoopJoin
	LoopLeft
	LoopSemi
	LoopAnti
	LoopSingle

	MergeTop
	MergeLimit
	MergeOrder
	MergeGroup //26
	MergeOffset

	Deletion
	Insert
	Update
	External

	Minus
	Intersect
	IntersectAll

	HashBuild

	Unnest

	GenerateSeries

	// 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
}

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/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