@@ -53,12 +53,9 @@ using ColumnString = ColumnStr<UInt32>;
5353
5454class ParquetColumnReader {
5555public:
56- struct Statistics {
57- Statistics ()
58- : read_time(0 ),
59- read_calls (0 ),
60- page_index_read_calls(0 ),
61- read_bytes(0 ),
56+ struct ColumnStatistics {
57+ ColumnStatistics ()
58+ : page_index_read_calls(0 ),
6259 decompress_time (0 ),
6360 decompress_cnt(0 ),
6461 decode_header_time(0 ),
@@ -70,12 +67,8 @@ class ParquetColumnReader {
7067 parse_page_header_num(0 ),
7168 read_page_header_time(0 ) {}
7269
73- Statistics (io::BufferedStreamReader::Statistics& fs, ColumnChunkReaderStatistics& cs,
74- int64_t null_map_time)
75- : read_time(fs.read_time),
76- read_calls(fs.read_calls),
77- page_index_read_calls(0 ),
78- read_bytes(fs.read_bytes),
70+ ColumnStatistics (ColumnChunkReaderStatistics& cs, int64_t null_map_time)
71+ : page_index_read_calls(0 ),
7972 decompress_time(cs.decompress_time),
8073 decompress_cnt(cs.decompress_cnt),
8174 decode_header_time(cs.decode_header_time),
@@ -87,10 +80,7 @@ class ParquetColumnReader {
8780 parse_page_header_num(cs.parse_page_header_num),
8881 read_page_header_time(cs.read_page_header_time) {}
8982
90- int64_t read_time;
91- int64_t read_calls;
9283 int64_t page_index_read_calls;
93- int64_t read_bytes;
9484 int64_t decompress_time;
9585 int64_t decompress_cnt;
9686 int64_t decode_header_time;
@@ -102,21 +92,18 @@ class ParquetColumnReader {
10292 int64_t parse_page_header_num;
10393 int64_t read_page_header_time;
10494
105- void merge (Statistics& statistics) {
106- read_time += statistics.read_time ;
107- read_calls += statistics.read_calls ;
108- read_bytes += statistics.read_bytes ;
109- page_index_read_calls += statistics.page_index_read_calls ;
110- decompress_time += statistics.decompress_time ;
111- decompress_cnt += statistics.decompress_cnt ;
112- decode_header_time += statistics.decode_header_time ;
113- decode_value_time += statistics.decode_value_time ;
114- decode_dict_time += statistics.decode_dict_time ;
115- decode_level_time += statistics.decode_level_time ;
116- decode_null_map_time += statistics.decode_null_map_time ;
117- skip_page_header_num += statistics.skip_page_header_num ;
118- parse_page_header_num += statistics.parse_page_header_num ;
119- read_page_header_time += statistics.read_page_header_time ;
95+ void merge (ColumnStatistics& col_statistics) {
96+ page_index_read_calls += col_statistics.page_index_read_calls ;
97+ decompress_time += col_statistics.decompress_time ;
98+ decompress_cnt += col_statistics.decompress_cnt ;
99+ decode_header_time += col_statistics.decode_header_time ;
100+ decode_value_time += col_statistics.decode_value_time ;
101+ decode_dict_time += col_statistics.decode_dict_time ;
102+ decode_level_time += col_statistics.decode_level_time ;
103+ decode_null_map_time += col_statistics.decode_null_map_time ;
104+ skip_page_header_num += col_statistics.skip_page_header_num ;
105+ parse_page_header_num += col_statistics.parse_page_header_num ;
106+ read_page_header_time += col_statistics.read_page_header_time ;
120107 }
121108 };
122109
@@ -148,7 +135,7 @@ class ParquetColumnReader {
148135 const std::set<uint64_t >& filter_column_ids = {});
149136 virtual const std::vector<level_t >& get_rep_level () const = 0;
150137 virtual const std::vector<level_t >& get_def_level () const = 0;
151- virtual Statistics statistics () = 0;
138+ virtual ColumnStatistics column_statistics () = 0;
152139 virtual void close () = 0;
153140
154141 virtual void reset_filter_map_index () = 0;
@@ -191,9 +178,8 @@ class ScalarColumnReader : public ParquetColumnReader {
191178 MutableColumnPtr convert_dict_column_to_string_column (const ColumnInt32* dict_column) override ;
192179 const std::vector<level_t >& get_rep_level () const override { return _rep_levels; }
193180 const std::vector<level_t >& get_def_level () const override { return _def_levels; }
194- Statistics statistics () override {
195- return Statistics (_stream_reader->statistics (), _chunk_reader->statistics (),
196- _decode_null_map_time);
181+ ColumnStatistics column_statistics () override {
182+ return ColumnStatistics (_chunk_reader->chunk_statistics (), _decode_null_map_time);
197183 }
198184 void close () override {}
199185
@@ -307,7 +293,7 @@ class ArrayColumnReader : public ParquetColumnReader {
307293 const std::vector<level_t >& get_def_level () const override {
308294 return _element_reader->get_def_level ();
309295 }
310- Statistics statistics () override { return _element_reader->statistics (); }
296+ ColumnStatistics column_statistics () override { return _element_reader->column_statistics (); }
311297 void close () override {}
312298
313299 void reset_filter_map_index () override { _element_reader->reset_filter_map_index (); }
@@ -338,9 +324,9 @@ class MapColumnReader : public ParquetColumnReader {
338324 return _key_reader->get_def_level ();
339325 }
340326
341- Statistics statistics () override {
342- Statistics kst = _key_reader->statistics ();
343- Statistics vst = _value_reader->statistics ();
327+ ColumnStatistics column_statistics () override {
328+ ColumnStatistics kst = _key_reader->column_statistics ();
329+ ColumnStatistics vst = _value_reader->column_statistics ();
344330 kst.merge (vst);
345331 return kst;
346332 }
@@ -395,12 +381,12 @@ class StructColumnReader : public ParquetColumnReader {
395381 return _child_readers.begin ()->second ->get_def_level ();
396382 }
397383
398- Statistics statistics () override {
399- Statistics st;
384+ ColumnStatistics column_statistics () override {
385+ ColumnStatistics st;
400386 for (const auto & column_name : _read_column_names) {
401387 auto reader = _child_readers.find (column_name);
402388 if (reader != _child_readers.end ()) {
403- Statistics cst = reader->second ->statistics ();
389+ ColumnStatistics cst = reader->second ->column_statistics ();
404390 st.merge (cst);
405391 }
406392 }
@@ -493,8 +479,8 @@ class SkipReadingReader : public ParquetColumnReader {
493479 }
494480
495481 // Implement required pure virtual methods from base class
496- Statistics statistics () override {
497- return Statistics (); // Return empty statistics
482+ ColumnStatistics column_statistics () override {
483+ return ColumnStatistics (); // Return empty statistics
498484 }
499485
500486 void close () override {
0 commit comments