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

Function makeIterFunc

cmd/tempo-cli/cmd-analyse-block.go:650–666  ·  view source on GitHub ↗
(ctx context.Context, pf *parquet.File)

Source from the content-addressed store, hash-verified

648type makeIterFn func(columnName string, predicate parquetquery.Predicate, selectAs string) parquetquery.Iterator
649
650func makeIterFunc(ctx context.Context, pf *parquet.File) makeIterFn {
651 return func(name string, predicate parquetquery.Predicate, selectAs string) parquetquery.Iterator {
652 index, _, maxDef := parquetquery.GetColumnIndexByPath(pf, name)
653 if index == -1 {
654 panic("column not found in parquet file:" + name)
655 }
656
657 opts := []parquetquery.SyncIteratorOpt{
658 parquetquery.SyncIteratorOptColumnName(name),
659 parquetquery.SyncIteratorOptPredicate(predicate),
660 parquetquery.SyncIteratorOptSelectAs(selectAs),
661 parquetquery.SyncIteratorOptMaxDefinitionLevel(maxDef),
662 }
663
664 return parquetquery.NewSyncIterator(ctx, pf.RowGroups(), index, opts...)
665 }
666}
667
668func aggregateGenericAttributes(pf *parquet.File, definitionLevel int, keyPath string, valuePath string, intPath string, isArrayPath string) (attributeSummary, error) {
669 makeIter := makeIterFunc(context.Background(), pf)

Callers 3

aggregateIntegerColumnFunction · 0.70
aggregateStringColumnFunction · 0.70

Calls 6

GetColumnIndexByPathFunction · 0.92
SyncIteratorOptPredicateFunction · 0.92
SyncIteratorOptSelectAsFunction · 0.92
NewSyncIteratorFunction · 0.92

Tested by

no test coverage detected