MCPcopy Index your code
hub / github.com/pingcap/tidb / fetchNextOuterRow

Method fetchNextOuterRow

pkg/executor/parallel_apply.go:350–371  ·  view source on GitHub ↗
(id int, req *chunk.Chunk)

Source from the content-addressed store, hash-verified

348}
349
350func (e *ParallelNestedLoopApplyExec) fetchNextOuterRow(id int, req *chunk.Chunk) (row *chunk.Row, exit bool) {
351 for {
352 select {
353 case outerRow, ok := <-e.outerRowCh:
354 if !ok { // no more data
355 return nil, false
356 }
357 if !outerRow.selected {
358 if e.outer {
359 e.joiners[id].OnMissMatch(false, *outerRow.row, req)
360 if req.IsFull() {
361 return nil, false
362 }
363 }
364 continue // try the next outer row
365 }
366 return outerRow.row, false
367 case <-e.exit:
368 return nil, true
369 }
370 }
371}
372
373func (e *ParallelNestedLoopApplyExec) fillInnerChunk(ctx context.Context, id int, req *chunk.Chunk) (err error) {
374 req.Reset()

Callers 1

fillInnerChunkMethod · 0.95

Calls 2

OnMissMatchMethod · 0.65
IsFullMethod · 0.45

Tested by

no test coverage detected