This is an automated email from the ASF dual-hosted git repository.
wangbo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push:
new a72eaa2 [fix](Vectorized) optinmize dict page decoder init (#7917)
a72eaa2 is described below
commit a72eaa2b2e5ed00a1b8d422112e7a33cf81bb597
Author: Zeno Yang <[email protected]>
AuthorDate: Sat Jan 29 11:47:57 2022 +0800
[fix](Vectorized) optinmize dict page decoder init (#7917)
this may cause mem leak
---
be/src/olap/rowset/segment_v2/column_reader.cpp | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp
b/be/src/olap/rowset/segment_v2/column_reader.cpp
index b336ad1..4f97218 100644
--- a/be/src/olap/rowset/segment_v2/column_reader.cpp
+++ b/be/src/olap/rowset/segment_v2/column_reader.cpp
@@ -677,18 +677,18 @@ Status FileColumnIterator::_read_data_page(const
OrdinalPageIndexIterator& iter)
// PLAIN_ENCODING is supported for dict page right now
_dict_decoder.reset(new BinaryPlainPageDecoder(dict_data));
RETURN_IF_ERROR(_dict_decoder->init());
- }
- BinaryPlainPageDecoder* pd_decoder =
(BinaryPlainPageDecoder*)_dict_decoder.get();
- _dict_start_offset_array = new uint32_t[pd_decoder->_num_elems];
- _dict_len_array = new uint32_t[pd_decoder->_num_elems];
+ auto* pd_decoder =
(BinaryPlainPageDecoder*)_dict_decoder.get();
+ _dict_start_offset_array = new
uint32_t[pd_decoder->_num_elems];
+ _dict_len_array = new uint32_t[pd_decoder->_num_elems];
- // todo(wb) padding dict value for SIMD comparison
- for (int i = 0; i < pd_decoder->_num_elems; i++) {
- const uint32_t start_offset = pd_decoder->offset(i);
- uint32_t len = pd_decoder->offset(i + 1) - start_offset;
- _dict_start_offset_array[i] = start_offset;
- _dict_len_array[i] = len;
+ // todo(wb) padding dict value for SIMD comparison
+ for (int i = 0; i < pd_decoder->_num_elems; i++) {
+ const uint32_t start_offset = pd_decoder->offset(i);
+ uint32_t len = pd_decoder->offset(i + 1) - start_offset;
+ _dict_start_offset_array[i] = start_offset;
+ _dict_len_array[i] = len;
+ }
}
dict_page_decoder->set_dict_decoder(_dict_decoder.get(),
_dict_start_offset_array, _dict_len_array);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]