Documentation ¶
Index ¶
Constants ¶
This section is empty.
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 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 OpType // 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 Instructions ¶
type Instructions []Instruction
type ModificationArgument ¶ added in v0.8.0
type ModificationArgument interface {
AffectedRows() uint64
}
type OpType ¶ added in v0.8.0
type OpType int
const ( Top OpType = iota Limit Order Group Window Output Offset Product Restrict Dispatch Connector Projection Join LoopJoin Left LoopLeft Single LoopSingle Semi RightSemi LoopSemi Anti RightAnti LoopAnti Mark LoopMark Merge MergeTop MergeLimit MergeOrder MergeGroup MergeOffset MergeRecursive MergeCTE Deletion Insert External Stream Minus Intersect IntersectAll HashBuild TableFunction // MergeBlock is used to recieve S3 block metLoc Info, and write // them to S3 MergeBlock // MergeDelete is used to recieve S3 Blcok Delete Info from remote Cn MergeDelete Right OnDuplicateKey PreInsert PreInsertUnique // 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 // LockOp is used to add locks to lockservice for pessimistic transactions. // Operator that encounters a write conflict will block until the previous // transaction has released the lock LockOp Shuffle )
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
Package heap provides heap operations for any type that implements heap.Interface.
|
Package heap provides heap operations for any type that implements heap.Interface. |
Click to show internal directories.
Click to hide internal directories.