hashjoin

package
v0.0.0-debug-20260702 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Build = iota
	Probe
	SyncBitmap
	Finalize
	End
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HashJoin

type HashJoin struct {
	JoinType    plan.Node_JoinType
	IsRightJoin bool

	ResultCols []colexec.ResultPos
	LeftTypes  []types.Type
	RightTypes []types.Type
	NonEqCond  *plan.Expr
	EqConds    [][]*plan.Expr

	Channel chan *bitmap.Bitmap
	NumCPU  uint64

	HashOnPK     bool
	CanSkipProbe bool

	IsShuffle  bool
	ShuffleIdx int32

	IsMerger           bool
	RuntimeFilterSpecs []*plan.RuntimeFilterSpec
	JoinMapTag         int32
	SpillThreshold     int64

	vm.OperatorBase
	// contains filtered or unexported fields
}

func NewArgument

func NewArgument() *HashJoin

func (*HashJoin) Call

func (hashJoin *HashJoin) Call(proc *process.Process) (vm.CallResult, error)

func (*HashJoin) EmitUnmatchedBuild

func (hashJoin *HashJoin) EmitUnmatchedBuild() bool

EmitUnmatchedBuild reports whether the join must emit unmatched rows from the build (right) side. True when IsRightJoin is set (RIGHT-flavoured joins, including RIGHT OUTER / RIGHT SEMI / RIGHT ANTI / RIGHT SINGLE / RIGHT DEDUP), or for FULL OUTER which always needs both sides.

func (*HashJoin) EmitUnmatchedProbe

func (hashJoin *HashJoin) EmitUnmatchedProbe() bool

EmitUnmatchedProbe reports whether the join must emit unmatched rows from the probe (left) side. True for LEFT OUTER, LEFT SINGLE, LEFT ANTI, and FULL OUTER joins.

func (*HashJoin) ExecProjection

func (hashJoin *HashJoin) ExecProjection(proc *process.Process, input *batch.Batch) (*batch.Batch, error)

func (*HashJoin) Free

func (hashJoin *HashJoin) Free(proc *process.Process, pipelineFailed bool, err error)

func (*HashJoin) GetOperatorBase

func (hashJoin *HashJoin) GetOperatorBase() *vm.OperatorBase

func (*HashJoin) IsAnti

func (hashJoin *HashJoin) IsAnti() bool

func (*HashJoin) IsFullOuter

func (hashJoin *HashJoin) IsFullOuter() bool

func (*HashJoin) IsInner

func (hashJoin *HashJoin) IsInner() bool

func (*HashJoin) IsLeftAnti

func (hashJoin *HashJoin) IsLeftAnti() bool

func (*HashJoin) IsLeftOuter

func (hashJoin *HashJoin) IsLeftOuter() bool

func (*HashJoin) IsLeftSemi

func (hashJoin *HashJoin) IsLeftSemi() bool

func (*HashJoin) IsLeftSingle

func (hashJoin *HashJoin) IsLeftSingle() bool

func (*HashJoin) IsRightAnti

func (hashJoin *HashJoin) IsRightAnti() bool

func (*HashJoin) IsRightOuter

func (hashJoin *HashJoin) IsRightOuter() bool

func (*HashJoin) IsRightSemi

func (hashJoin *HashJoin) IsRightSemi() bool

func (*HashJoin) IsRightSingle

func (hashJoin *HashJoin) IsRightSingle() bool

func (*HashJoin) IsSemi

func (hashJoin *HashJoin) IsSemi() bool

func (*HashJoin) IsSingle

func (hashJoin *HashJoin) IsSingle() bool

func (*HashJoin) OpType

func (hashJoin *HashJoin) OpType() vm.OpType

func (*HashJoin) Prepare

func (hashJoin *HashJoin) Prepare(proc *process.Process) (err error)

func (*HashJoin) Release

func (hashJoin *HashJoin) Release()

func (*HashJoin) Reset

func (hashJoin *HashJoin) Reset(proc *process.Process, pipelineFailed bool, err error)

func (*HashJoin) String

func (hashJoin *HashJoin) String(buf *bytes.Buffer)

func (HashJoin) TypeName

func (hashJoin HashJoin) TypeName() string

Jump to

Keyboard shortcuts

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