public class CollectionValueIndex extends CassandraIndex
Index.CollatedViewIndexBuildingSupport, Index.IndexBuildingSupport, Index.Indexer, Index.Searcher
baseCfs, functions, indexCfs, indexedColumn, metadata
INDEX_BUILDER_SUPPORT
Constructor and Description |
---|
CollectionValueIndex(ColumnFamilyStore baseCfs,
IndexMetadata indexDef) |
Modifier and Type | Method and Description |
---|---|
CBuilder |
buildIndexClusteringPrefix(java.nio.ByteBuffer partitionKey,
ClusteringPrefix prefix,
CellPath path)
Used to construct an the clustering for an entry in the index table based on values from the base data.
|
IndexEntry |
decodeEntry(DecoratedKey indexedValue,
Row indexEntry)
Used at search time to convert a row in the index table into a simple struct containing the values required
to retrieve the corresponding row from the base table.
|
java.nio.ByteBuffer |
getIndexedValue(java.nio.ByteBuffer partitionKey,
Clustering clustering,
CellPath path,
java.nio.ByteBuffer cellValue)
Extract the value to be inserted into the index from the components of the base data
|
boolean |
isStale(Row data,
java.nio.ByteBuffer indexValue,
int nowInSec)
Check whether a value retrieved from an index is still valid by comparing it to current row from the base table.
|
boolean |
supportsOperator(ColumnDefinition indexedColumn,
Operator operator)
Returns true if an index of this type can support search predicates of the form [column] OPERATOR [value]
|
customExpressionValueType, deleteStaleEntry, dependsOn, getBackingTable, getBlockingFlushTask, getEstimatedResultRows, getIndexCfs, getIndexComparator, getIndexedColumn, getIndexMetadata, getInitializationTask, getInvalidateTask, getMetadataReloadTask, getPostIndexQueryFilter, getTruncateTask, indexCfsMetadata, indexerFor, newIndex, postProcessorFor, register, searcherFor, shouldBuildBlocking, supportsExpression, validate, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBuildTaskSupport, getFlushObserver, getPreJoinTask, supportsReplicaFilteringProtection
public CollectionValueIndex(ColumnFamilyStore baseCfs, IndexMetadata indexDef)
public java.nio.ByteBuffer getIndexedValue(java.nio.ByteBuffer partitionKey, Clustering clustering, CellPath path, java.nio.ByteBuffer cellValue)
CassandraIndex
getIndexedValue
in class CassandraIndex
partitionKey
- from the primary dataclustering
- from the primary datapath
- from the primary datacellValue
- from the primary datapublic CBuilder buildIndexClusteringPrefix(java.nio.ByteBuffer partitionKey, ClusteringPrefix prefix, CellPath path)
CassandraIndex
buildIndexClusteringPrefix
in class CassandraIndex
partitionKey
- from the base data being indexedprefix
- from the base data being indexedpath
- from the base data being indexedpublic IndexEntry decodeEntry(DecoratedKey indexedValue, Row indexEntry)
CassandraIndex
decodeEntry
in class CassandraIndex
indexedValue
- the partition key of the indexed table (i.e. the value that was indexed)indexEntry
- a row from the index tablepublic boolean supportsOperator(ColumnDefinition indexedColumn, Operator operator)
CassandraIndex
supportsOperator
in class CassandraIndex
public boolean isStale(Row data, java.nio.ByteBuffer indexValue, int nowInSec)
CassandraIndex
isStale
in class CassandraIndex
data
- the current row from the primary data tableindexValue
- the value we retrieved from the indexCopyright © 2009- The Apache Software Foundation