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

    https://github.com/apache/carbondata/pull/958#discussion_r119528159
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/indexstore/DataMap.java ---
    @@ -0,0 +1,105 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *    http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.carbondata.core.indexstore;
    +
    +import java.util.Comparator;
    +import java.util.Iterator;
    +
    +import org.apache.carbondata.core.indexstore.row.DataMapKey;
    +import org.apache.carbondata.core.indexstore.row.DataMapRow;
    +import org.apache.carbondata.core.indexstore.schema.DataMapRowSchema;
    +
    +/**
    + * Interface for adding and retrieving index data.
    + */
    +public interface DataMap {
    +
    +  /**
    +   * Schema of the index key and its attributes. It should be called only 
once after creating
    +   * the instance.
    +   *
    +   * @param schema
    +   */
    +  void init(DataMapRowSchema schema);
    +
    +  /**
    +   * Add the index row to the in-memory store.
    +   *
    +   * @param row
    +   */
    +  void addIndex(DataMapRow row);
    +
    +  /**
    +   * Finish writing of index table, otherwise it will not be allowed to 
read.
    +   */
    +  void finishWriting();
    +
    +  /**
    +   * Retrieve the index row by using index key.
    +   *
    +   * @param key
    +   * @return IndexRow
    +   */
    +  DataMapRow getIndex(DataMapKey key, Comparator<DataMapKey> 
indexComparator);
    +
    +  /**
    +   * Retrieve the index row by using index number.
    +   *
    +   * @param index
    +   * @return IndexRow
    +   */
    +  DataMapRow getIndex(int index);
    +
    +  /**
    +   * Get the scan using start and end index key.
    +   * 1. if start key is null then scan starts from starting and end till 
endKey(including)
    +   * 2. if end key is null then scan starts at start key and end till last 
key.
    +   * 3. if both are null then scan starts at begining and end till last 
key.
    +   *
    +   * @param startKey
    +   * @param endKey
    +   * @return Iterator<IndexRow>
    +   */
    +  Iterator<DataMapRow> getIndexScan(DataMapKey startKey, DataMapKey endKey,
    +      Comparator<DataMapKey> indexComparator);
    +
    +  /**
    +   * Gets the total index row count in the store.
    +   *
    +   * @return
    +   */
    +  int getTotalCount();
    +
    +  /**
    +   * Clear complete index table and release memory.
    +   */
    +  void clear();
    +
    +  /**
    +   * Get the total size used by index table.
    +   *
    +   * @return
    +   */
    +  long getTotalSizeInBytesUsed();
    +
    +  /**
    +   * Get the row schema which is used in index table
    +   * @return
    +   */
    +  DataMapRowSchema getIndexRowSchema();
    --- End diff --
    
    Ok, will remove it


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to