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

    https://github.com/apache/carbondata/pull/2819#discussion_r226223232
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datastore/page/LazyColumnPage.java
 ---
    @@ -42,10 +43,26 @@ private LazyColumnPage(ColumnPage columnPage, 
ColumnPageValueConverter converter
         this.converter = converter;
       }
     
    +  private LazyColumnPage(ColumnPage columnPage, ColumnPageValueConverter 
converter,
    +      ColumnVectorInfo vectorInfo) {
    +    super(columnPage.getColumnPageEncoderMeta(), columnPage.getPageSize());
    +    this.columnPage = columnPage;
    +    this.converter = converter;
    +    if (columnPage instanceof DecimalColumnPage) {
    +      vectorInfo.decimalConverter = ((DecimalColumnPage) 
columnPage).getDecimalConverter();
    +    }
    +    converter.decodeAndFillVector(columnPage, vectorInfo);
    +  }
    +
       public static ColumnPage newPage(ColumnPage columnPage, 
ColumnPageValueConverter codec) {
         return new LazyColumnPage(columnPage, codec);
       }
     
    +  public static ColumnPage newPage(ColumnPage columnPage, 
ColumnPageValueConverter codec,
    +      ColumnVectorInfo vectorInfo) {
    +    return new LazyColumnPage(columnPage, codec, vectorInfo);
    +  }
    --- End diff --
    
    I am not sure what is the significance of making a static method and 
creating a object from it. As we are not doing anything extra in this method we 
can make the constructor itself public and remove this static method


---

Reply via email to