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

Function makeIterFunc

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

Source from the content-addressed store, hash-verified

368type makeIterFn func(columnName string, predicate pq.Predicate, selectAs string) pq.Iterator
369
370func makeIterFunc(ctx context.Context, rgs []parquet.RowGroup, pf *parquet.File) makeIterFn {
371 return func(name string, predicate pq.Predicate, selectAs string) pq.Iterator {
372 index, _, maxDef := pq.GetColumnIndexByPath(pf, name)
373 if index == -1 {
374 // TODO - don't panic, error instead
375 panic("column not found in parquet file:" + name)
376 }
377
378 opts := []pq.SyncIteratorOpt{
379 pq.SyncIteratorOptColumnName(name),
380 pq.SyncIteratorOptPredicate(predicate),
381 pq.SyncIteratorOptSelectAs(selectAs),
382 pq.SyncIteratorOptMaxDefinitionLevel(maxDef),
383 }
384 if name != columnPathSpanID && name != columnPathTraceID {
385 opts = append(opts, pq.SyncIteratorOptIntern())
386 }
387
388 return pq.NewSyncIterator(ctx, rgs, index, opts...)
389 }
390}
391
392func makeNilIterFunc(ctx context.Context, rgs []parquet.RowGroup, pf *parquet.File) makeIterFn {
393 return func(name string, predicate pq.Predicate, selectAs string) pq.Iterator {

Callers 11

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

Calls

no outgoing calls

Tested by 3

BenchmarkIteratorsFunction · 0.56