Example usage for org.apache.cassandra.index Index supportsExpression

List of usage examples for org.apache.cassandra.index Index supportsExpression

Introduction

In this page you can find the example usage for org.apache.cassandra.index Index supportsExpression.

Prototype

public boolean supportsExpression(ColumnMetadata column, Operator operator);

Source Link

Document

Called to determine whether this index can provide a searcher to execute a query on the supplied column using the specified operator.

Usage

From source file:com.stratio.cassandra.lucene.IndexPagingState.java

License:Apache License

private Expression expression(ReadCommand command) throws ReflectiveOperationException {

    // Try with custom expressions
    for (Expression expression : command.rowFilter().getExpressions()) {
        if (expression.isCustom()) {
            return expression;
        }/*from ww  w  .jav a2  s  .  c o  m*/
    }

    // Try with dummy column
    ColumnFamilyStore cfs = Keyspace.open(command.metadata().ksName)
            .getColumnFamilyStore(command.metadata().cfName);
    for (Expression expression : command.rowFilter().getExpressions()) {
        for (org.apache.cassandra.index.Index index : cfs.indexManager.listIndexes()) {
            if (index instanceof Index
                    && index.supportsExpression(expression.column(), expression.operator())) {
                return expression;
            }
        }
    }

    return null;
}