You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksandr Polovtcev (Jira)" <ji...@apache.org> on 2022/08/16 08:38:00 UTC

[jira] [Updated] (IGNITE-17534) Introduce an interface for Hash Indices

     [ https://issues.apache.org/jira/browse/IGNITE-17534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksandr Polovtcev updated IGNITE-17534:
-----------------------------------------
    Description: 
We need to create an interface for the Hash Index with the following methods:

{code:java}
public interface HashIndexStorage {
    /**
     * Returns the Index Descriptor of this storage.
     */
    HashIndexDescriptor indexDescriptor();
    
    /**
     * Returns a collection of {@code RowId}s that correspond to the given index key.
     */
    Collection<RowId> get(IndexRow row);

    /**
     * Adds the given index row to the index.
     */
    void put(IndexRow row);

    /**
     * Removes the given row from the index.
     *
     * <p>Removing a non-existent row is a no-op.
     */
    void remove(IndexRow row);
}
{code}

It is also required to provide a test-only reference implementation and create tests


  was:We need to create an interface for the Hash Index with the following methods


> Introduce an interface for Hash Indices
> ---------------------------------------
>
>                 Key: IGNITE-17534
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17534
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Aleksandr Polovtcev
>            Assignee: Aleksandr Polovtcev
>            Priority: Major
>              Labels: ignite-3
>
> We need to create an interface for the Hash Index with the following methods:
> {code:java}
> public interface HashIndexStorage {
>     /**
>      * Returns the Index Descriptor of this storage.
>      */
>     HashIndexDescriptor indexDescriptor();
>     
>     /**
>      * Returns a collection of {@code RowId}s that correspond to the given index key.
>      */
>     Collection<RowId> get(IndexRow row);
>     /**
>      * Adds the given index row to the index.
>      */
>     void put(IndexRow row);
>     /**
>      * Removes the given row from the index.
>      *
>      * <p>Removing a non-existent row is a no-op.
>      */
>     void remove(IndexRow row);
> }
> {code}
> It is also required to provide a test-only reference implementation and create tests



--
This message was sent by Atlassian Jira
(v8.20.10#820010)