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

    https://github.com/apache/carbondata/pull/1297#discussion_r138941549
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datastore/page/VarLengthColumnPageBase.java
 ---
    @@ -22,21 +22,48 @@
     import java.util.List;
     
     import org.apache.carbondata.core.datastore.TableSpec;
    +import org.apache.carbondata.core.memory.CarbonUnsafe;
    +import org.apache.carbondata.core.memory.MemoryBlock;
     import org.apache.carbondata.core.memory.MemoryException;
    +import org.apache.carbondata.core.memory.UnsafeMemoryManager;
     import org.apache.carbondata.core.metadata.datatype.DataType;
     import 
org.apache.carbondata.core.metadata.datatype.DecimalConverterFactory;
     import org.apache.carbondata.core.util.ByteUtil;
    +import org.apache.carbondata.core.util.ThreadLocalTaskInfo;
     
    +import static org.apache.carbondata.core.metadata.datatype.DataType.BYTE;
     import static 
org.apache.carbondata.core.metadata.datatype.DataType.DECIMAL;
     
     public abstract class VarLengthColumnPageBase extends ColumnPage {
     
    +  static final int byteBits = BYTE.getSizeBits();
    +  static final int shortBits = DataType.SHORT.getSizeBits();
    +  static final int intBits = DataType.INT.getSizeBits();
    +  static final int longBits = DataType.LONG.getSizeBits();
    +  // default size for each row, grows as needed
    +  static final int DEFAULT_ROW_SIZE = 8;
    +
    +  static final double FACTOR = 1.25;
    +
    +  final long taskId = ThreadLocalTaskInfo.getCarbonTaskInfo().getTaskId();
    +
    +  // memory allocated by Unsafe
    +  MemoryBlock memoryBlock;
    --- End diff --
    
    SafeDecimalColumnPage  will handle both fixed and variable implementation 
of decimal data based on precsion. So it is also required to be extended from 
VarLengthColumnPageBase


---

Reply via email to