(pf *parquet.File, colName string)
| 777 | } |
| 778 | |
| 779 | func 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 | |
| 807 | func rowCount(pf *parquet.File, colName string) (count uint64, err error) { |
| 808 | index, _, _ := parquetquery.GetColumnIndexByPath(pf, colName) |
no test coverage detected