Documentation
¶
Index ¶
- Constants
- type DedupJoin
- func (dedupJoin *DedupJoin) Call(proc *process.Process) (vm.CallResult, error)
- func (dedupJoin *DedupJoin) ExecProjection(proc *process.Process, input *batch.Batch) (*batch.Batch, error)
- func (dedupJoin *DedupJoin) Free(proc *process.Process, pipelineFailed bool, err error)
- func (dedupJoin *DedupJoin) GetOperatorBase() *vm.OperatorBase
- func (dedupJoin *DedupJoin) OpType() vm.OpType
- func (dedupJoin *DedupJoin) Prepare(proc *process.Process) (err error)
- func (dedupJoin *DedupJoin) Release()
- func (dedupJoin *DedupJoin) Reset(proc *process.Process, pipelineFailed bool, err error)
- func (dedupJoin *DedupJoin) String(buf *bytes.Buffer)
- func (dedupJoin DedupJoin) TypeName() string
- type WorkerJoinMsg
Constants ¶
View Source
const ( Build = iota Probe Finalize End )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DedupJoin ¶
type DedupJoin struct {
Result []colexec.ResultPos
LeftTypes []types.Type
RightTypes []types.Type
Conditions [][]*plan.Expr
IsShuffle bool
ShuffleIdx int32
RuntimeFilterSpecs []*plan.RuntimeFilterSpec
JoinMapTag int32
Channel chan *WorkerJoinMsg
NumCPU uint64
IsMerger bool
OnDuplicateAction plan.Node_OnDuplicateAction
DedupBuildKeepLast bool
DedupColName string
DedupColTypes []plan.Type
DelColIdx int32
DedupDeleteMarkerColIdx int32
DedupDeleteKeepColIdxList []int32
UpdateColIdxList []int32
UpdateColExprList []*plan.Expr
// OldColCapturePlaceholderIdxList / OldColCaptureProbeIdxList are parallel
// arrays. For each i, when probe hits a build bucket the probe-side column
// at OldColCaptureProbeIdxList[i] is captured and, in finalize(), emitted
// into every Result entry whose (Rel=1, Pos) equals
// OldColCapturePlaceholderIdxList[i]. Used by the REPLACE INTO merged
// main-table scan path; empty for regular INSERT/UPDATE.
OldColCapturePlaceholderIdxList []int32
OldColCaptureProbeIdxList []int32
vm.OperatorBase
// contains filtered or unexported fields
}
func NewArgument ¶
func NewArgument() *DedupJoin
func (*DedupJoin) ExecProjection ¶
func (*DedupJoin) GetOperatorBase ¶
func (dedupJoin *DedupJoin) GetOperatorBase() *vm.OperatorBase
type WorkerJoinMsg ¶
type WorkerJoinMsg struct {
// contains filtered or unexported fields
}
WorkerJoinMsg carries per-worker state from non-merger workers to the merger worker at finalize time. Regular DEDUP JOIN only populates matched; the REPLACE INTO merged main-table scan path (OldColCapture) additionally populates captured and capturedVecs.
Ownership: once a non-merger worker sends this message on the channel, it must relinquish its references to captured / capturedVecs so that the merger is the sole owner and is responsible for Free'ing capturedVecs.
Click to show internal directories.
Click to hide internal directories.