public abstract class SecondaryIndexSearcher
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected ColumnFamilyStore |
baseCfs |
protected java.util.Set<java.nio.ByteBuffer> |
columns |
protected SecondaryIndexManager |
indexManager |
Constructor and Description |
---|
SecondaryIndexSearcher(SecondaryIndexManager indexManager,
java.util.Set<java.nio.ByteBuffer> columns) |
Modifier and Type | Method and Description |
---|---|
boolean |
canHandleIndexClause(java.util.List<IndexExpression> clause) |
SecondaryIndex |
highestSelectivityIndex(java.util.List<IndexExpression> clause) |
protected IndexExpression |
highestSelectivityPredicate(java.util.List<IndexExpression> clause,
boolean includeInTrace) |
java.util.List<Row> |
postReconciliationProcessing(java.util.List<IndexExpression> clause,
java.util.List<Row> rows)
Combines index query results from multiple nodes.
|
boolean |
requiresScanningAllRanges(java.util.List<IndexExpression> clause)
Returns
true if the specified list of IndexExpression s require a full scan of all the nodes. |
abstract java.util.List<Row> |
search(ExtendedFilter filter) |
void |
validate(IndexExpression indexExpression)
Validates the specified
IndexExpression . |
protected final SecondaryIndexManager indexManager
protected final java.util.Set<java.nio.ByteBuffer> columns
protected final ColumnFamilyStore baseCfs
public SecondaryIndexSearcher(SecondaryIndexManager indexManager, java.util.Set<java.nio.ByteBuffer> columns)
public SecondaryIndex highestSelectivityIndex(java.util.List<IndexExpression> clause)
public abstract java.util.List<Row> search(ExtendedFilter filter)
public boolean canHandleIndexClause(java.util.List<IndexExpression> clause)
public void validate(IndexExpression indexExpression) throws InvalidRequestException
IndexExpression
. It will throw an InvalidRequestException
if the provided clause is not valid for the index implementation.indexExpression
- An IndexExpression
to be validatedInvalidRequestException
- in case of validation errorsprotected IndexExpression highestSelectivityPredicate(java.util.List<IndexExpression> clause, boolean includeInTrace)
public boolean requiresScanningAllRanges(java.util.List<IndexExpression> clause)
true
if the specified list of IndexExpression
s require a full scan of all the nodes.clause
- A list of IndexExpression
strue
if the IndexExpression
s require a full scan, false
otherwisepublic java.util.List<Row> postReconciliationProcessing(java.util.List<IndexExpression> clause, java.util.List<Row> rows)
clause
- A list of IndexExpression
srows
- The index query results to be combinedCopyright © 2016 The Apache Software Foundation