Class AbstractSSTableIterator
- java.lang.Object
-
- org.apache.cassandra.db.columniterator.AbstractSSTableIterator
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.util.Iterator<Unfiltered>,BaseRowIterator<Unfiltered>,UnfilteredRowIterator,CloseableIterator<Unfiltered>
- Direct Known Subclasses:
SSTableIterator,SSTableReversedIterator
public abstract class AbstractSSTableIterator extends java.lang.Object implements UnfilteredRowIterator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractSSTableIterator.IndexStateprotected classAbstractSSTableIterator.Reader
-
Field Summary
Fields Modifier and Type Field Description protected ColumnFiltercolumnsprotected DeserializationHelperhelperprotected FileHandleifileprotected DecoratedKeykeyprotected TableMetadatametadataprotected DeletionTimepartitionLevelDeletionprotected AbstractSSTableIterator.Readerreaderprotected Slicesslicesprotected SSTableReadersstableprotected RowstaticRow
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractSSTableIterator(SSTableReader sstable, FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter columnFilter, FileHandle ifile)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()RegularAndStaticColumnscolumns()A subset of the columns for the (static and regular) rows returned by this iterator.protected abstract AbstractSSTableIterator.ReadercreateReaderInternal(RowIndexEntry indexEntry, FileDataInput file, boolean shouldCloseFile)protected abstract booleanhasMoreSlices()Checks if there are more slice to process.booleanhasNext()TableMetadatametadata()The metadata for the table this iterator on.Unfilterednext()protected abstract intnextSliceIndex()Returns the index of the next slice to process.DecoratedKeypartitionKey()The partition key of the partition this in an iterator over.DeletionTimepartitionLevelDeletion()The partition level deletion for the partition this iterate over.voidremove()RowstaticRow()The static part corresponding to this partition (this can be an empty row but cannot benull).EncodingStatsstats()Return "statistics" about what is returned by this iterator.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cassandra.db.rows.BaseRowIterator
isReverseOrder
-
Methods inherited from interface org.apache.cassandra.db.rows.UnfilteredRowIterator
isEmpty
-
-
-
-
Field Detail
-
sstable
protected final SSTableReader sstable
-
metadata
protected final TableMetadata metadata
-
key
protected final DecoratedKey key
-
partitionLevelDeletion
protected final DeletionTime partitionLevelDeletion
-
columns
protected final ColumnFilter columns
-
helper
protected final DeserializationHelper helper
-
staticRow
protected final Row staticRow
-
reader
protected final AbstractSSTableIterator.Reader reader
-
ifile
protected final FileHandle ifile
-
slices
protected final Slices slices
-
-
Constructor Detail
-
AbstractSSTableIterator
protected AbstractSSTableIterator(SSTableReader sstable, FileDataInput file, DecoratedKey key, RowIndexEntry indexEntry, Slices slices, ColumnFilter columnFilter, FileHandle ifile)
-
-
Method Detail
-
nextSliceIndex
protected abstract int nextSliceIndex()
Returns the index of the next slice to process.- Returns:
- the index of the next slice to process
-
hasMoreSlices
protected abstract boolean hasMoreSlices()
Checks if there are more slice to process.- Returns:
trueif there are more slice to process,falseotherwise.
-
createReaderInternal
protected abstract AbstractSSTableIterator.Reader createReaderInternal(RowIndexEntry indexEntry, FileDataInput file, boolean shouldCloseFile)
-
metadata
public TableMetadata metadata()
Description copied from interface:BaseRowIteratorThe metadata for the table this iterator on.- Specified by:
metadatain interfaceBaseRowIterator<Unfiltered>
-
columns
public RegularAndStaticColumns columns()
Description copied from interface:BaseRowIteratorA subset of the columns for the (static and regular) rows returned by this iterator. Every row returned by this iterator must guarantee that it has only those columns.- Specified by:
columnsin interfaceBaseRowIterator<Unfiltered>
-
partitionKey
public DecoratedKey partitionKey()
Description copied from interface:BaseRowIteratorThe partition key of the partition this in an iterator over.- Specified by:
partitionKeyin interfaceBaseRowIterator<Unfiltered>
-
partitionLevelDeletion
public DeletionTime partitionLevelDeletion()
Description copied from interface:UnfilteredRowIteratorThe partition level deletion for the partition this iterate over.- Specified by:
partitionLevelDeletionin interfaceUnfilteredRowIterator
-
staticRow
public Row staticRow()
Description copied from interface:BaseRowIteratorThe static part corresponding to this partition (this can be an empty row but cannot benull).- Specified by:
staticRowin interfaceBaseRowIterator<Unfiltered>
-
stats
public EncodingStats stats()
Description copied from interface:UnfilteredRowIteratorReturn "statistics" about what is returned by this iterator. Those are used for performance reasons (for delta-encoding for instance) and code should not expect those to be exact.- Specified by:
statsin interfaceUnfilteredRowIterator
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfacejava.util.Iterator<Unfiltered>
-
next
public Unfiltered next()
- Specified by:
nextin interfacejava.util.Iterator<Unfiltered>
-
remove
public void remove()
- Specified by:
removein interfacejava.util.Iterator<Unfiltered>
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfaceCloseableIterator<Unfiltered>
-
-