Github user kumarvishal09 commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2662#discussion_r214504804
--- Diff:
core/src/main/java/org/apache/carbondata/core/datastore/blocklet/EncodedBlocklet.java
---
@@ -87,19 +91,24 @@ private void addPageMetadata(EncodedTablePage
encodedTablePage) {
* @param encodedTablePage
* encoded table page
*/
- private void addEncodedMeasurePage(EncodedTablePage encodedTablePage) {
+ private void addEncodedMeasurePage(EncodedTablePage encodedTablePage,
+ Map<String, LocalDictionaryGenerator> localDictionaryGeneratorMap) {
// for first page create new list
if (null == encodedMeasureColumnPages) {
encodedMeasureColumnPages = new ArrayList<>();
// adding measure pages
for (int i = 0; i < encodedTablePage.getNumMeasures(); i++) {
- BlockletEncodedColumnPage blockletEncodedColumnPage = new
BlockletEncodedColumnPage(null);
-
blockletEncodedColumnPage.addEncodedColumnColumnPage(encodedTablePage.getMeasure(i));
+ BlockletEncodedColumnPage blockletEncodedColumnPage = new
BlockletEncodedColumnPage(null,
+ Boolean.parseBoolean(CarbonProperties.getInstance()
--- End diff --
Instead of parsing every time for each encodedPage parse once in
constructor and add in private field ...for measure u can directly pass false
as local dictionary will not generated for measure page
---