wangbo commented on a change in pull request #1816: v2 segment support string 
encode(#1766)
URL: https://github.com/apache/incubator-doris/pull/1816#discussion_r326886604
 
 

 ##########
 File path: be/src/olap/rowset/segment_v2/binary_dict_page.h
 ##########
 @@ -116,6 +116,10 @@ class BinaryDictPageDecoder : public PageDecoder {
         return _data_page_decoder->current_index();
     }
 
+    bool is_dict_encoding();
+
+    void set_dict_decoder(std::shared_ptr<BinaryPlainPageDecoder> 
dict_decoder);
 
 Review comment:
   using BinaryDictPageDecoder's constructor to set dict page decoder means 
first need to decode slice data header to check whether current page is dict 
encoding or not,so there is two ways to do it:
   1. decode slice data header in FileColumnIterator and getting the encode 
type,construct dict page decoder and set it to PageDecoderOptions;It works but 
"decode slice data header" will be done twice
   2. decode slice data header and settting the encode type PageDecoderOptions, 
BinaryDictPageDecoder's no longer to decode the slice data header;but this will 
change the logic of BinaryDictPageDecoder->init
   
   so I think first call BinaryDictPageDecoder->init to get encoding type and 
then set dict page decoder to BinaryDictPageDecoder is better

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to