carbondata-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jackylk <...@git.apache.org>
Subject [GitHub] incubator-carbondata pull request #569: [WIP]Fixed GC issue and re-factor di...
Date Tue, 24 Jan 2017 15:22:59 GMT
Github user jackylk commented on a diff in the pull request:

    https://github.com/apache/incubator-carbondata/pull/569#discussion_r97570640
  
    --- Diff: core/src/main/java/org/apache/carbondata/core/scan/collector/impl/DictionaryBasedResultCollector.java
---
    @@ -37,64 +37,138 @@
     import org.apache.carbondata.core.util.DataTypeUtil;
     
     import org.apache.commons.lang3.ArrayUtils;
    +
     /**
      * It is not a collector it is just a scanned result holder.
      */
     public class DictionaryBasedResultCollector extends AbstractScannedResultCollector {
     
    -  public DictionaryBasedResultCollector(BlockExecutionInfo blockExecutionInfos) {
    -    super(blockExecutionInfos);
    -  }
    +  /**
    +   * delete delta cache to maintain records
    +   * which go deleted
    +   */
    +  private BlockletLevelDeleteDeltaDataCache deleteDeltaDataCache;
     
       /**
    -   * This method will add a record both key and value to list object
    -   * it will keep track of how many record is processed, to handle limit scenario
    +   * is measure present
        */
    -  @Override public List<Object[]> collectData(AbstractScannedResult scannedResult,
int batchSize) {
    +  private boolean isMsrsPresent;
     
    -    List<Object[]> listBasedResult = new ArrayList<>(batchSize);
    -    boolean isMsrsPresent = measureDatatypes.length > 0;
    +  /**
    +   * list of dimension column present in projection list
    +   */
    +  private QueryDimension[] queryDimensions;
    +
    +  /**
    +   * list of measure column present in projection list
    +   */
    +  private QueryMeasure[] queryMeasures;
    +
    +  /**
    +   * index of dictionary column in surrogate key array
    +   */
    +  private int[] actualIndexInSurrogateKey;
    +
    +  /**
    +   * complex dimension info map
    +   */
    +  private Map<Integer, GenericQueryType> comlexDimensionInfoMap;
    +
    +  /**
    +   * dictionary column index
    +   */
    +  private boolean[] dictionaryEncodingArray;
    +
    +  /**
    +   * direct dictionary column index
    +   */
    +  private byte[] directDictionaryEncodingArray;
    +
    +  /**
    +   * implicit column index
    +   */
    +  private boolean[] implictColumnArray;
    +
    +  /**
    +   * complex column index
    +   */
    +  private boolean[] complexDataTypeArray;
    +
    +  /**
    +   * number of dimension column
    +   */
    +  private int dimSize;
    +
    +  /**
    +   * is dimension column present in query
    +   */
    +  private boolean isDimensionsExist;
    +
    +  /**
    +   * order in query
    +   */
    +  private int[] order;
    +
    +  private DirectDictionaryGenerator dateTypeDictionaryGenerator;
    +
    +  private DirectDictionaryGenerator timestampTypeDictionaryGenerator;
     
    -    QueryDimension[] queryDimensions = tableBlockExecutionInfos.getQueryDimensions();
    +  public DictionaryBasedResultCollector(BlockExecutionInfo blockExecutionInfos) {
    +    super(blockExecutionInfos);
    +    this.isMsrsPresent = measureDatatypes.length > 0;
    +    this.queryDimensions = tableBlockExecutionInfos.getQueryDimensions();
         List<Integer> dictionaryIndexes = new ArrayList<Integer>();
         for (int i = 0; i < queryDimensions.length; i++) {
    -      if(queryDimensions[i].getDimension().hasEncoding(Encoding.DICTIONARY) ||
    -          queryDimensions[i].getDimension().hasEncoding(Encoding.DIRECT_DICTIONARY) )
{
    +      if (queryDimensions[i].getDimension().hasEncoding(Encoding.DICTIONARY) || queryDimensions[i]
    --- End diff --
    
    move queryDimensions to next line


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message