Github user xuchuanyin commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2829#discussion_r226546096
  
    --- Diff: format/src/main/thrift/carbondata.thrift ---
    @@ -206,6 +206,7 @@ struct FileFooter3{
         4: optional list<BlockletInfo3> blocklet_info_list3;   // Information 
about blocklets of all columns in this file for V3 format
         5: optional dictionary.ColumnDictionaryChunk dictionary; // Blocklet 
local dictionary
         6: optional bool is_sort; // True if the data is sorted in this file, 
it is used for compaction to decide whether to use merge sort or not
    +    7: optional map<string, string> extra_info; // written by is used to 
write who wrote the file, it can be Aplication name, or SDK etc and version in 
which this carbondata file is written etc
    --- End diff --
    
    Since this is optional and we will set many extra information in the 
footer, I think we can provide a general interface to set and get this info, 
which means that we do not need to provide 'writtenBy' and 'setVersion' 
interface. Because following this pattern, the interfaces will become more and 
more.
    
    In my opinion, we can only provide one interface setExtraInfo/getExtraInfo 
and it accepts/returns a map.
    Moreover, this extraInfo is optional, which means you do not need to set it 
in all the tes tcases, you just need to focus your test case to avoid too many 
changes.


---

Reply via email to