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

Function aggregateStringColumn

cmd/tempo-cli/cmd-analyse-block.go:779–805  ·  view source on GitHub ↗
(pf *parquet.File, colName string)

Source from the content-addressed store, hash-verified

777}
778
779func aggregateStringColumn(pf *parquet.File, colName string) (cardinality, error) {
780 var (
781 iter = makeIterFunc(context.Background(), pf)(colName, nil, "value")
782 cardinality = make(cardinality)
783 )
784
785 for res, err := iter.Next(); res != nil; res, err = iter.Next() {
786 if err != nil {
787 return nil, err
788 }
789
790 var val parquet.Value
791 for _, e := range res.Entries {
792 if e.Key == "value" {
793 val = e.Value
794 }
795 }
796
797 if val.IsNull() {
798 continue
799 }
800
801 cardinality[val.String()]++
802 }
803
804 return cardinality, nil
805}
806
807func rowCount(pf *parquet.File, colName string) (count uint64, err error) {
808 index, _, _ := parquetquery.GetColumnIndexByPath(pf, colName)

Callers 1

aggregateScopeFunction · 0.85

Calls 3

makeIterFuncFunction · 0.70
NextMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected