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

Method collectOptional

pkg/parquetquery/iters.go:1472–1502  ·  view source on GitHub ↗
(rowNumber RowNumber)

Source from the content-addressed store, hash-verified

1470}
1471
1472func (j *LeftJoinIterator) collectOptional(rowNumber RowNumber) (err error) {
1473iters:
1474 for i, iter := range j.optional {
1475 // Collect matches from this iter while it points at the given row number.
1476 d := j.defLevelsOptional[i]
1477 p := j.paramsOptional[i]
1478
1479 for j.peeksOptional[i] != nil {
1480 // Optional iterators may or may not be pointing at the right row.
1481 // So always check first.
1482 // Interned version of EqualRowNumber
1483 // Compare in reverse order because most row number activity
1484 // occurs at the deeper definition levels.
1485 for k := d; k >= 0; k-- {
1486 if j.peeksOptional[i].RowNumber[k] != rowNumber[k] {
1487 continue iters
1488 }
1489 }
1490
1491 // Collect and save row number.
1492 j.collector.Collect(j.peeksOptional[i], p)
1493 j.collectedThroughOptional[i] = j.peeksOptional[i].RowNumber
1494
1495 j.peeksOptional[i], err = iter.Next()
1496 if err != nil {
1497 return
1498 }
1499 }
1500 }
1501 return
1502}
1503
1504func (j *LeftJoinIterator) collectRequired(rowNumber RowNumber) (err error) {
1505 // First iterator is broken out because it is treated a little differently,

Callers 1

collectMethod · 0.95

Calls 2

CollectMethod · 0.65
NextMethod · 0.65

Tested by

no test coverage detected