org.apache.cassandra.db.filter
Class SliceQueryFilter

java.lang.Object
  extended by org.apache.cassandra.db.filter.SliceQueryFilter
All Implemented Interfaces:
IFilter
Direct Known Subclasses:
IdentityQueryFilter

public class SliceQueryFilter
extends java.lang.Object
implements IFilter


Nested Class Summary
static class SliceQueryFilter.Serializer
           
 
Field Summary
 int count
           
 boolean reversed
           
static SliceQueryFilter.Serializer serializer
           
 ColumnSlice[] slices
           
 
Constructor Summary
SliceQueryFilter(java.nio.ByteBuffer start, java.nio.ByteBuffer finish, boolean reversed, int count)
           
SliceQueryFilter(ColumnSlice[] slices, boolean reversed, int count)
          Constructor that accepts multiple slices.
SliceQueryFilter(ColumnSlice[] slices, boolean reversed, int count, int compositesToGroup, int countMutliplierForCompatibility)
           
 
Method Summary
 void collectReducedColumns(IColumnContainer container, java.util.Iterator<IColumn> reducedColumns, int gcBefore)
          collects columns from reducedColumns into returnCF.
 SuperColumn filterSuperColumn(SuperColumn superColumn, int gcBefore)
          subcolumns of a supercolumn are unindexed, so to pick out parts of those we operate in-memory.
 java.nio.ByteBuffer finish()
           
 java.util.Comparator<IColumn> getColumnComparator(AbstractType<?> comparator)
           
 OnDiskAtomIterator getMemtableColumnIterator(ColumnFamily cf, DecoratedKey key)
          returns an iterator that returns columns from the given memtable matching the Filter criteria in sorted order.
 ISSTableColumnIterator getSSTableColumnIterator(SSTableReader sstable, DecoratedKey key)
          returns an iterator that returns columns from the given SSTable matching the Filter criteria in sorted order.
 ISSTableColumnIterator getSSTableColumnIterator(SSTableReader sstable, FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry)
          Get an iterator that returns columns from the given SSTable using the opened file matching the Filter criteria in sorted order.
 boolean includes(java.util.Comparator<java.nio.ByteBuffer> cmp, java.nio.ByteBuffer name)
           
 boolean isReversed()
           
 int lastCounted()
           
 void setStart(java.nio.ByteBuffer start)
           
 java.nio.ByteBuffer start()
           
 java.lang.String toString()
           
 void updateColumnsLimit(int newLimit)
           
 SliceQueryFilter withUpdatedCount(int newCount)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serializer

public static final SliceQueryFilter.Serializer serializer

slices

public final ColumnSlice[] slices

reversed

public final boolean reversed

count

public volatile int count
Constructor Detail

SliceQueryFilter

public SliceQueryFilter(java.nio.ByteBuffer start,
                        java.nio.ByteBuffer finish,
                        boolean reversed,
                        int count)

SliceQueryFilter

public SliceQueryFilter(ColumnSlice[] slices,
                        boolean reversed,
                        int count)
Constructor that accepts multiple slices. All slices are assumed to be in the same direction (forward or reversed).


SliceQueryFilter

public SliceQueryFilter(ColumnSlice[] slices,
                        boolean reversed,
                        int count,
                        int compositesToGroup,
                        int countMutliplierForCompatibility)
Method Detail

withUpdatedCount

public SliceQueryFilter withUpdatedCount(int newCount)

getMemtableColumnIterator

public OnDiskAtomIterator getMemtableColumnIterator(ColumnFamily cf,
                                                    DecoratedKey key)
Description copied from interface: IFilter
returns an iterator that returns columns from the given memtable matching the Filter criteria in sorted order.

Specified by:
getMemtableColumnIterator in interface IFilter

getSSTableColumnIterator

public ISSTableColumnIterator getSSTableColumnIterator(SSTableReader sstable,
                                                       DecoratedKey key)
Description copied from interface: IFilter
returns an iterator that returns columns from the given SSTable matching the Filter criteria in sorted order.

Specified by:
getSSTableColumnIterator in interface IFilter

getSSTableColumnIterator

public ISSTableColumnIterator getSSTableColumnIterator(SSTableReader sstable,
                                                       FileDataInput file,
                                                       DecoratedKey key,
                                                       RowIndexEntry indexEntry)
Description copied from interface: IFilter
Get an iterator that returns columns from the given SSTable using the opened file matching the Filter criteria in sorted order.

Specified by:
getSSTableColumnIterator in interface IFilter
file - Already opened file data input, saves us opening another one
key - The key of the row we are about to iterate over

filterSuperColumn

public SuperColumn filterSuperColumn(SuperColumn superColumn,
                                     int gcBefore)
Description copied from interface: IFilter
subcolumns of a supercolumn are unindexed, so to pick out parts of those we operate in-memory.

Specified by:
filterSuperColumn in interface IFilter
Parameters:
superColumn - may be modified by filtering op.

getColumnComparator

public java.util.Comparator<IColumn> getColumnComparator(AbstractType<?> comparator)
Specified by:
getColumnComparator in interface IFilter

collectReducedColumns

public void collectReducedColumns(IColumnContainer container,
                                  java.util.Iterator<IColumn> reducedColumns,
                                  int gcBefore)
Description copied from interface: IFilter
collects columns from reducedColumns into returnCF. Termination is determined by the filter code, which should have some limit on the number of columns to avoid running out of memory on large rows.

Specified by:
collectReducedColumns in interface IFilter

start

public java.nio.ByteBuffer start()

finish

public java.nio.ByteBuffer finish()

setStart

public void setStart(java.nio.ByteBuffer start)

lastCounted

public int lastCounted()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isReversed

public boolean isReversed()
Specified by:
isReversed in interface IFilter

updateColumnsLimit

public void updateColumnsLimit(int newLimit)
Specified by:
updateColumnsLimit in interface IFilter

includes

public boolean includes(java.util.Comparator<java.nio.ByteBuffer> cmp,
                        java.nio.ByteBuffer name)


Copyright © 2012 The Apache Software Foundation