PerRowSecondaryIndex (apache-cassandra API)
Date: 2018-02-12

org.apache.cassandra.db.index

## Class PerRowSecondaryIndex

- java.lang.Object
- - org.apache.cassandra.db.index.SecondaryIndex
  - - org.apache.cassandra.db.index.PerRowSecondaryIndex

-     public abstract class PerRowSecondaryIndex
      extends SecondaryIndex

  Base class for Secondary indexes that implement a unique index per row

- - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.db.index.SecondaryIndex

      `baseCfs, columnDefs, CUSTOM_INDEX_OPTION_NAME, INDEX_ENTRIES_OPTION_NAME, INDEX_KEYS_OPTION_NAME, INDEX_VALUES_OPTION_NAME, keyComparator, logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PerRowSecondaryIndex()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `delete(DecoratedKey key, OpOrder.Group opGroup)` cleans up deleted columns from cassandra cleanup compaction
    `java.lang.String` | `getNameForSystemKeyspace(java.nio.ByteBuffer columnName)` Return the unique name for this index and column to be stored in the SystemKeyspace that tracks if each column is built
    `abstract void` | `index(java.nio.ByteBuffer rowKey, ColumnFamily cf)` Index the given row.
    `boolean` | `validate(java.nio.ByteBuffer rowKey, Cell cell)`
    `void` | `validate(java.nio.ByteBuffer key, ColumnFamily cf)`
    `boolean` | `validate(Cell cell)`

    - ### Methods inherited from class org.apache.cassandra.db.index.SecondaryIndex

      `buildIndexAsync, buildIndexBlocking, createInstance, createSecondaryIndexSearcher, estimateResultRows, forceBlockingFlush, getBaseCfs, getColumnDefs, getIndexCfs, getIndexComparator, getIndexKeyFor, getIndexName, indexes, indexes, init, invalidate, isIndexBuilt, isQueryable, reload, removeIndex, setIndexBuilt, setIndexRemoved, supportsOperator, toString, truncateBlocking, validateOptions`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PerRowSecondaryIndex

          public PerRowSecondaryIndex()

  - ### Method Detail

    - #### index

          public abstract void index(java.nio.ByteBuffer rowKey,
                                     ColumnFamily cf)

      Index the given row.
      Parameters:
        `rowKey` - the row key
        `cf` - the cf data to be indexed

    - #### delete

          public abstract void delete(DecoratedKey key,
                                      OpOrder.Group opGroup)

      cleans up deleted columns from cassandra cleanup compaction
      Parameters:
        `key` -

    - #### getNameForSystemKeyspace

          public java.lang.String getNameForSystemKeyspace(java.nio.ByteBuffer columnName)

      Description copied from class: `SecondaryIndex`
      Return the unique name for this index and column to be stored in the SystemKeyspace that tracks if each column is built
      Specified by:
        `getNameForSystemKeyspace` in class `SecondaryIndex`
      Parameters:
        `columnName` - the name of the column
      Returns:
        the unique name

    - #### validate

          public boolean validate(java.nio.ByteBuffer rowKey,
                                  Cell cell)

      Specified by:
        `validate` in class `SecondaryIndex`

    - #### validate

          public boolean validate(Cell cell)

    - #### validate

          public void validate(java.nio.ByteBuffer key,
                               ColumnFamily cf)
                        throws InvalidRequestException

      Throws:
        `InvalidRequestException`

Copyright © 2018 The Apache Software Foundation