public List<Row> scan(IndexClause clause, AbstractBounds range, IFilter dataFilter)
{
// Start with the most-restrictive indexed clause, then apply remaining clauses
// to each row matching that clause.
// TODO: allow merge join instead of just one index + loop
IndexExpression primary = highestSelectivityPredicate(clause);
ColumnFamilyStore indexCFS = getIndexedColumnFamilyStore(primary.column_name);
if (logger.isDebugEnabled())
logger.debug("Primary scan clause is " + getComparator().getString(primary.column_name));
assert indexCFS != null;
DecoratedKey indexKey = indexCFS.partitioner.decorateKey(primary.value);