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

Function makeIterFunc

tempodb/encoding/vparquet3/block_search.go:349–369  ·  view source on GitHub ↗
(ctx context.Context, rgs []parquet.RowGroup, pf *parquet.File)

Source from the content-addressed store, hash-verified

347}
348
349func makeIterFunc(ctx context.Context, rgs []parquet.RowGroup, pf *parquet.File) func(name string, predicate pq.Predicate, selectAs string) pq.Iterator {
350 return func(name string, predicate pq.Predicate, selectAs string) pq.Iterator {
351 index, _, maxDef := pq.GetColumnIndexByPath(pf, name)
352 if index == -1 {
353 // TODO - don't panic, error instead
354 panic("column not found in parquet file:" + name)
355 }
356
357 opts := []pq.SyncIteratorOpt{
358 pq.SyncIteratorOptColumnName(name),
359 pq.SyncIteratorOptPredicate(predicate),
360 pq.SyncIteratorOptSelectAs(selectAs),
361 pq.SyncIteratorOptMaxDefinitionLevel(maxDef),
362 }
363 if name != columnPathSpanID && name != columnPathTraceID {
364 opts = append(opts, pq.SyncIteratorOptIntern())
365 }
366
367 return pq.NewSyncIterator(ctx, rgs, index, opts...)
368 }
369}
370
371func makeNilIterFunc(ctx context.Context, rgs []parquet.RowGroup, pf *parquet.File) makeIterFn {
372 return func(name string, predicate pq.Predicate, selectAs string) pq.Iterator {

Callers 7

autocompleteIterFunction · 0.70
createAllIteratorFunction · 0.70
openWALBlockFunction · 0.70
rawToResultsFunction · 0.70
searchStandardTagValuesFunction · 0.70
searchSpecialTagValuesFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected