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

Function makeIterFunc

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

Source from the content-addressed store, hash-verified

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

Callers 8

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

Calls

no outgoing calls

Tested by 1

BenchmarkIteratorsFunction · 0.56