org.apache.cassandra.db.index

## Class SecondaryIndexSearcher

- java.lang.Object
- - org.apache.cassandra.db.index.SecondaryIndexSearcher

- Direct Known Subclasses:
    CompositesSearcher, KeysSearcher

      public abstract class SecondaryIndexSearcher
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ColumnFamilyStore` | `baseCfs`
    `protected java.util.Set<java.nio.ByteBuffer>` | `columns`
    `protected SecondaryIndexManager` | `indexManager`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SecondaryIndexSearcher(SecondaryIndexManager indexManager, java.util.Set<java.nio.ByteBuffer> columns)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `isIndexing(java.util.List<IndexExpression> clause)`
    `protected boolean` | `isIndexValueStale(ColumnFamily liveData, java.nio.ByteBuffer indexedColumnName, java.nio.ByteBuffer indexedValue)`
    `abstract java.util.List<Row>` | `search(java.util.List<IndexExpression> clause, AbstractBounds<RowPosition> range, int maxResults, IDiskAtomFilter dataFilter, boolean countCQL3Rows)`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### indexManager

          protected final SecondaryIndexManager indexManager

    - #### columns

          protected final java.util.Set<java.nio.ByteBuffer> columns

    - #### baseCfs

          protected final ColumnFamilyStore baseCfs

  - ### Constructor Detail

    - #### SecondaryIndexSearcher

          public SecondaryIndexSearcher(SecondaryIndexManager indexManager,
                                java.util.Set<java.nio.ByteBuffer> columns)

  - ### Method Detail

    - #### search

          public abstract java.util.List<Row> search(java.util.List<IndexExpression> clause,
                                   AbstractBounds<RowPosition> range,
                                   int maxResults,
                                   IDiskAtomFilter dataFilter,
                                   boolean countCQL3Rows)

    - #### isIndexing

          public abstract boolean isIndexing(java.util.List<IndexExpression> clause)

      Returns:
        true this index is able to handle given clauses.

    - #### isIndexValueStale

          protected boolean isIndexValueStale(ColumnFamily liveData,
                                  java.nio.ByteBuffer indexedColumnName,
                                  java.nio.ByteBuffer indexedValue)

Copyright © 2014 The Apache Software Foundation