@Override public List<byte[]> read(long startOffset) throws IOException {
  List<CarbonDictionaryColumnMetaChunk> carbonDictionaryColumnMetaChunks=readDictionaryMetadataFile();
  CarbonDictionaryColumnMetaChunk carbonDictionaryColumnMetaChunk=carbonDictionaryColumnMetaChunks.get(carbonDictionaryColumnMetaChunks.size() - 1);
  long endOffset=carbonDictionaryColumnMetaChunk.getEnd_offset();
  return read(carbonDictionaryColumnMetaChunks,startOffset,endOffset);
}

@ Override public List < byte [ ] > read ( long startOffset ) throws IOException { List < CarbonDictionaryColumnMetaChunk > carbonDictionaryColumnMetaChunks = readDictionaryMetadataFile ( ) ; CarbonDictionaryColumnMetaChunk carbonDictionaryColumnMetaChunk = carbonDictionaryColumnMetaChunks . get ( carbonDictionaryColumnMetaChunks . size ( ) - 1 ) ; long endOffset = carbonDictionaryColumnMetaChunk . getEnd_offset ( ) ; return read ( carbonDictionaryColumnMetaChunks , startOffset , endOffset ) ; }
this method should be used when data has to be read from a given offset . applicable scenarios : 1 . incremental data load . if column dictionary is already loaded in memory and incremental load is done , then for the new query only new dictionary data has to be read form memory .
