|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cassandra.db.index.SecondaryIndex
public abstract class SecondaryIndex
Abstract base class for different types of secondary indexes. Do not extend this directly, please pick from PerColumnSecondaryIndex or PerRowSecondaryIndex
Field Summary | |
---|---|
protected ColumnFamilyStore |
baseCfs
Base CF that has many indexes |
protected java.util.Set<ColumnDefinition> |
columnDefs
The column definitions which this index is responsible for |
static java.lang.String |
CUSTOM_INDEX_OPTION_NAME
|
Constructor Summary | |
---|---|
SecondaryIndex()
|
Method Summary | |
---|---|
java.util.concurrent.Future<?> |
buildIndexAsync()
Builds the index using the data in the underlying CF, non blocking |
protected void |
buildIndexBlocking()
Builds the index using the data in the underlying CFS Blocks till it's complete |
static SecondaryIndex |
createInstance(ColumnFamilyStore baseCfs,
ColumnDefinition cdef)
This is the primary way to create a secondary index instance for a CF column. |
protected abstract SecondaryIndexSearcher |
createSecondaryIndexSearcher(java.util.Set<java.nio.ByteBuffer> columns)
Called at query time Creates a implementation specific searcher instance for this index type |
abstract void |
forceBlockingFlush()
Forces this indexes in memory data to disk |
ColumnFamilyStore |
getBaseCFStore()
|
abstract java.lang.String |
getIndexName()
|
abstract 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 ColumnFamilyStore |
getUnderlyingCfs()
Allow access to the underlying column family store if there is one |
abstract void |
init()
Perform any initialization work |
boolean |
isIndexBuilt(java.nio.ByteBuffer columnName)
Checks if the index for specified column is fully built |
abstract void |
removeIndex(java.nio.ByteBuffer columnName)
Delete all files and references to this index |
abstract void |
renameIndex(java.lang.String newCfName)
Renames the underlying index files to reflect the new CF name |
abstract void |
unregisterMbean()
Unregisters this index's mbean if one exists |
abstract void |
validateOptions()
Validates the index_options passed in the ColumnDef |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CUSTOM_INDEX_OPTION_NAME
protected ColumnFamilyStore baseCfs
protected java.util.Set<ColumnDefinition> columnDefs
Constructor Detail |
---|
public SecondaryIndex()
Method Detail |
---|
public abstract void init()
public abstract void validateOptions() throws ConfigurationException
ConfigurationException
public abstract java.lang.String getIndexName()
public abstract java.lang.String getNameForSystemTable(java.nio.ByteBuffer columnName)
columnName
- the name of the column
public boolean isIndexBuilt(java.nio.ByteBuffer columnName)
columnName
- the column
protected abstract SecondaryIndexSearcher createSecondaryIndexSearcher(java.util.Set<java.nio.ByteBuffer> columns)
columns
- the list of columns which belong to this index type
public abstract void forceBlockingFlush() throws java.io.IOException
java.io.IOException
public abstract ColumnFamilyStore getUnderlyingCfs()
public abstract void removeIndex(java.nio.ByteBuffer columnName) throws java.io.IOException
columnName
- the indexed column to remove
java.io.IOException
public abstract void renameIndex(java.lang.String newCfName) throws java.io.IOException
newCfName
- new column family name.
java.io.IOException
- on any I/O error.public abstract void unregisterMbean()
protected void buildIndexBlocking() throws java.io.IOException
java.io.IOException
public java.util.concurrent.Future<?> buildIndexAsync()
public ColumnFamilyStore getBaseCFStore()
public static SecondaryIndex createInstance(ColumnFamilyStore baseCfs, ColumnDefinition cdef) throws ConfigurationException
baseCfs
- the source of data for the Indexcdef
- the meta information about this column (index_type, index_options, name, etc...)
ConfigurationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |