carbondata-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jackylk <...@git.apache.org>
Subject [GitHub] carbondata pull request #958: [CARBONDATA-1088] Added interfaces for Data Ma...
Date Wed, 31 May 2017 06:54:39 GMT
Github user jackylk commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/958#discussion_r119282300
  
    --- 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 --
    
    Seems this is not used


---
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