MCPcopy
hub / github.com/grafana/tempo / seekAllRequired

Method seekAllRequired

pkg/parquetquery/iters.go:1419–1443  ·  view source on GitHub ↗
(t RowNumber, d int)

Source from the content-addressed store, hash-verified

1417}
1418
1419func (j *LeftJoinIterator) seekAllRequired(t RowNumber, d int) (done bool, err error) {
1420 for iterNum, iter := range j.required {
1421 d2 := min(d, j.defLevelsRequired[iterNum])
1422
1423 if j.peeksRequired[iterNum] == nil || CompareRowNumbers(d2, j.peeksRequired[iterNum].RowNumber, t) == -1 {
1424
1425 // Release peek if present
1426 // These results have been collected but never returned upstream,
1427 // so we know it is safe to release them.
1428 if j.peeksRequired[iterNum] != nil {
1429 j.peeksRequired[iterNum].Release()
1430 }
1431
1432 j.peeksRequired[iterNum], err = iter.SeekTo(t, d2)
1433 if err != nil {
1434 return
1435 }
1436 if j.peeksRequired[iterNum] == nil {
1437 // A required iterator is exhausted, no reason to seek the remaining
1438 return true, nil
1439 }
1440 }
1441 }
1442 return
1443}
1444
1445func (j *LeftJoinIterator) seekAllOptional(t RowNumber, d int) (err error) {
1446 for iterNum := 0; iterNum < len(j.optional); iterNum++ {

Callers 1

SeekToMethod · 0.95

Calls 3

CompareRowNumbersFunction · 0.85
ReleaseMethod · 0.65
SeekToMethod · 0.65

Tested by

no test coverage detected