Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B5B6B200CA8 for ; Thu, 1 Jun 2017 07:02:16 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B4627160BDB; Thu, 1 Jun 2017 05:02:16 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 05A1E160BCB for ; Thu, 1 Jun 2017 07:02:15 +0200 (CEST) Received: (qmail 48324 invoked by uid 500); 1 Jun 2017 05:02:15 -0000 Mailing-List: contact issues-help@carbondata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@carbondata.apache.org Delivered-To: mailing list issues@carbondata.apache.org Received: (qmail 48315 invoked by uid 99); 1 Jun 2017 05:02:15 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jun 2017 05:02:15 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 015FEE0016; Thu, 1 Jun 2017 05:02:15 +0000 (UTC) From: ravipesala To: issues@carbondata.apache.org Reply-To: issues@carbondata.apache.org References: In-Reply-To: Subject: [GitHub] carbondata pull request #958: [CARBONDATA-1088] Added interfaces for Data Ma... Content-Type: text/plain Message-Id: <20170601050215.015FEE0016@git1-us-west.apache.org> Date: Thu, 1 Jun 2017 05:02:15 +0000 (UTC) archived-at: Thu, 01 Jun 2017 05:02:16 -0000 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 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 + */ + Iterator getIndexScan(DataMapKey startKey, DataMapKey endKey, + Comparator 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 infrastructure@apache.org or file a JIRA ticket with INFRA. ---