org.apache.cassandra.db.index
Class PerColumnSecondaryIndex

java.lang.Object
  extended by org.apache.cassandra.db.index.SecondaryIndex
      extended by org.apache.cassandra.db.index.PerColumnSecondaryIndex
Direct Known Subclasses:
AbstractSimplePerColumnSecondaryIndex

public abstract class PerColumnSecondaryIndex
extends SecondaryIndex

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


Field Summary
 
Fields inherited from class org.apache.cassandra.db.index.SecondaryIndex
baseCfs, columnDefs, CUSTOM_INDEX_OPTION_NAME, logger
 
Constructor Summary
PerColumnSecondaryIndex()
           
 
Method Summary
abstract  void delete(java.nio.ByteBuffer rowKey, IColumn col)
          Delete a column from the index
 java.lang.String getNameForSystemTable(java.nio.ByteBuffer column)
          Return the unique name for this index and column to be stored in the SystemTable that tracks if each column is built
abstract  void insert(java.nio.ByteBuffer rowKey, IColumn col)
          insert a column to the index
abstract  void update(java.nio.ByteBuffer rowKey, IColumn col)
          update a column from the index
 boolean validate(org.apache.cassandra.thrift.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

PerColumnSecondaryIndex

public PerColumnSecondaryIndex()
Method Detail

delete

public abstract void delete(java.nio.ByteBuffer rowKey,
                            IColumn col)
Delete a column from the index

Parameters:
rowKey - the underlying row key which is indexed
col - all the column info

insert

public abstract void insert(java.nio.ByteBuffer rowKey,
                            IColumn col)
insert a column to the index

Parameters:
rowKey - the underlying row key which is indexed
col - all the column info

update

public abstract void update(java.nio.ByteBuffer rowKey,
                            IColumn col)
update a column from the index

Parameters:
rowKey - the underlying row key which is indexed
col - all the column info

getNameForSystemTable

public java.lang.String getNameForSystemTable(java.nio.ByteBuffer column)
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:
column - the name of the column
Returns:
the unique name

validate

public boolean validate(org.apache.cassandra.thrift.Column column)
Specified by:
validate in class SecondaryIndex


Copyright © 2013 The Apache Software Foundation