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

Method collect

pkg/parquetquery/iters.go:1143–1171  ·  view source on GitHub ↗

Collect data from the given iterators until they point at the next row (according to the configured definition level) or are exhausted.

(rowNumber RowNumber)

Source from the content-addressed store, hash-verified

1141// the next row (according to the configured definition level)
1142// or are exhausted.
1143func (j *JoinIterator) collect(rowNumber RowNumber) (*IteratorResult, error) {
1144 var err error
1145
1146 result := j.at
1147 result.Reset()
1148 result.RowNumber = rowNumber
1149
1150iters:
1151 for i := range j.iters {
1152 for j.peeks[i] != nil {
1153
1154 // Interned version of EqualRowNumber
1155 // Compare in reverse order because most row number activity
1156 // occurs at the deeper definition levels.
1157 for k := j.definitionLevel; k >= 0; k-- {
1158 if j.peeks[i].RowNumber[k] != rowNumber[k] {
1159 continue iters
1160 }
1161 }
1162
1163 result.Append(j.peeks[i])
1164 j.peeks[i], err = j.iters[i].Next()
1165 if err != nil {
1166 return nil, err
1167 }
1168 }
1169 }
1170 return result, nil
1171}
1172
1173func (j *JoinIterator) Close() {
1174 for _, i := range j.iters {

Callers 2

NextMethod · 0.95
CollectMethod · 0.45

Calls 3

ResetMethod · 0.65
AppendMethod · 0.65
NextMethod · 0.65

Tested by 1

CollectMethod · 0.36