github-actions[bot] commented on code in PR #17054:
URL: https://github.com/apache/doris/pull/17054#discussion_r1115221806
##########
be/src/vec/exec/format/parquet/level_decoder.cpp:
##########
@@ -63,6 +65,18 @@ doris::Status
doris::vectorized::LevelDecoder::init(doris::Slice* slice,
return Status::OK();
}
+doris::Status doris::vectorized::LevelDecoder::init_v2(const doris::Slice&
levels,
+
doris::vectorized::level_t max_level,
+ uint32_t num_levels) {
+ _encoding = tparquet::Encoding::RLE;
+ _bit_width = BitUtil::log2(max_level + 1);
+ _max_level = max_level;
+ _num_levels = num_levels;
+ size_t byte_length = levels->size;
Review Comment:
warning: member reference type 'const doris::Slice' is not a pointer; did
you mean to use '.'? [clang-diagnostic-error]
```suggestion
size_t byte_length = levels.size;
```
##########
be/src/vec/exec/format/parquet/level_decoder.cpp:
##########
@@ -63,6 +65,18 @@
return Status::OK();
}
+doris::Status doris::vectorized::LevelDecoder::init_v2(const doris::Slice&
levels,
+
doris::vectorized::level_t max_level,
+ uint32_t num_levels) {
+ _encoding = tparquet::Encoding::RLE;
+ _bit_width = BitUtil::log2(max_level + 1);
+ _max_level = max_level;
+ _num_levels = num_levels;
+ size_t byte_length = levels->size;
+ _rle_decoder = RleDecoder<level_t>((uint8_t*)levels->data, byte_length,
_bit_width);
Review Comment:
warning: member reference type 'const doris::Slice' is not a pointer; did
you mean to use '.'? [clang-diagnostic-error]
```suggestion
_rle_decoder = RleDecoder<level_t>((uint8_t*)levels.data, byte_length,
_bit_width);
```
##########
be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp:
##########
@@ -65,13 +65,26 @@ Status ColumnChunkReader::next_page() {
RETURN_IF_ERROR(_decode_dict_page());
// parse the real first data page
return next_page();
+ } else if (_page_reader->get_page_header()->type ==
tparquet::PageType::DATA_PAGE_V2) {
+ _remaining_num_values =
_page_reader->get_page_header()->data_page_header_v2.num_values;
+ _state = HEADER_PARSED;
+ return Status::OK();
} else {
_remaining_num_values =
_page_reader->get_page_header()->data_page_header.num_values;
_state = HEADER_PARSED;
return Status::OK();
}
}
+Status ColumnChunkReader::get_levels(const tparquet::DataPageHeaderV2&
page_v2, Slice& page_data) {
+ int32_t rl = page_v2.repetition_levels_byte_length;
+ int32_t dl = page_v2.definition_levels_byte_length;
+ _v2_rep_levels = Slice(page_data.data, rl);
+ _v2_def_levels = Slice(page_data.data + rl, dl);
+ page_data.data += dl + rl;
+ page_data.size -= dl + rl;
+}
Review Comment:
warning: non-void function does not return a value
[clang-diagnostic-return-type]
```cpp
}
^
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]