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, logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PerRowSecondaryIndex()`

  - ### Method Summary

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

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

      `buildIndexAsync, buildIndexBlocking, createInstance, createSecondaryIndexSearcher, forceBlockingFlush, getBaseCfs, getColumnDefs, getIndexCfs, getIndexComparator, getIndexKeyFor, getIndexName, getLiveSize, indexes, init, invalidate, isIndexBuilt, reload, removeIndex, setIndexBuilt, setIndexRemoved, truncate, validateOptions`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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)

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

    - #### getNameForSystemTable

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

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

    - #### validate

          public boolean validate(Column column)

      Specified by:
        `validate` in class `SecondaryIndex`

Copyright © 2014 The Apache Software Foundation