Class SSTableScanner<S extends SSTableReader,E extends AbstractRowIndexEntry,I extends SSTableScanner.BaseKeyScanningIterator>
- java.lang.Object
-
- org.apache.cassandra.io.sstable.format.SSTableScanner<S,E,I>
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.util.Iterator<UnfilteredRowIterator>
,BasePartitionIterator<UnfilteredRowIterator>
,UnfilteredPartitionIterator
,ISSTableScanner
,CloseableIterator<UnfilteredRowIterator>
- Direct Known Subclasses:
BigTableScanner
,BtiTableScanner
public abstract class SSTableScanner<S extends SSTableReader,E extends AbstractRowIndexEntry,I extends SSTableScanner.BaseKeyScanningIterator> extends java.lang.Object implements ISSTableScanner
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SSTableScanner.BaseKeyScanningIterator
-
Field Summary
Fields Modifier and Type Field Description protected long
bytesScanned
protected ColumnFilter
columns
protected DataRange
dataRange
protected RandomAccessReader
dfile
protected java.util.concurrent.atomic.AtomicBoolean
isClosed
protected I
iterator
protected java.util.Iterator<AbstractBounds<PartitionPosition>>
rangeIterator
protected S
sstable
protected long
startScan
-
Constructor Summary
Constructors Modifier Constructor Description protected
SSTableScanner(S sstable, ColumnFilter columns, DataRange dataRange, java.util.Iterator<AbstractBounds<PartitionPosition>> rangeIterator, SSTableReadsListener listener)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
protected abstract void
doClose()
protected abstract I
doCreateIterator()
protected static AbstractBounds<PartitionPosition>
fullRange(SSTableReader sstable)
java.util.Set<SSTableReader>
getBackingSSTables()
long
getBytesScanned()
long
getCompressedLengthInBytes()
long
getCurrentPosition()
long
getLengthInBytes()
boolean
hasNext()
protected static java.util.List<AbstractBounds<PartitionPosition>>
makeBounds(SSTableReader sstable, java.util.Collection<Range<Token>> tokenRanges)
protected static java.util.List<AbstractBounds<PartitionPosition>>
makeBounds(SSTableReader sstable, DataRange dataRange)
TableMetadata
metadata()
UnfilteredRowIterator
next()
void
remove()
java.lang.String
toString()
-
-
-
Field Detail
-
isClosed
protected final java.util.concurrent.atomic.AtomicBoolean isClosed
-
dfile
protected final RandomAccessReader dfile
-
sstable
protected final S extends SSTableReader sstable
-
rangeIterator
protected final java.util.Iterator<AbstractBounds<PartitionPosition>> rangeIterator
-
columns
protected final ColumnFilter columns
-
dataRange
protected final DataRange dataRange
-
iterator
protected I extends SSTableScanner.BaseKeyScanningIterator iterator
-
startScan
protected long startScan
-
bytesScanned
protected long bytesScanned
-
-
Constructor Detail
-
SSTableScanner
protected SSTableScanner(S sstable, ColumnFilter columns, DataRange dataRange, java.util.Iterator<AbstractBounds<PartitionPosition>> rangeIterator, SSTableReadsListener listener)
-
-
Method Detail
-
makeBounds
protected static java.util.List<AbstractBounds<PartitionPosition>> makeBounds(SSTableReader sstable, java.util.Collection<Range<Token>> tokenRanges)
-
makeBounds
protected static java.util.List<AbstractBounds<PartitionPosition>> makeBounds(SSTableReader sstable, DataRange dataRange)
-
fullRange
protected static AbstractBounds<PartitionPosition> fullRange(SSTableReader sstable)
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceBasePartitionIterator<S extends SSTableReader>
- Specified by:
close
in interfaceCloseableIterator<S extends SSTableReader>
-
doClose
protected abstract void doClose() throws java.io.IOException
- Throws:
java.io.IOException
-
getLengthInBytes
public long getLengthInBytes()
- Specified by:
getLengthInBytes
in interfaceISSTableScanner
-
getCompressedLengthInBytes
public long getCompressedLengthInBytes()
- Specified by:
getCompressedLengthInBytes
in interfaceISSTableScanner
-
getCurrentPosition
public long getCurrentPosition()
- Specified by:
getCurrentPosition
in interfaceISSTableScanner
-
getBytesScanned
public long getBytesScanned()
- Specified by:
getBytesScanned
in interfaceISSTableScanner
-
getBackingSSTables
public java.util.Set<SSTableReader> getBackingSSTables()
- Specified by:
getBackingSSTables
in interfaceISSTableScanner
-
metadata
public TableMetadata metadata()
- Specified by:
metadata
in interfaceUnfilteredPartitionIterator
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<S extends SSTableReader>
-
next
public UnfilteredRowIterator next()
- Specified by:
next
in interfacejava.util.Iterator<S extends SSTableReader>
-
remove
public void remove()
- Specified by:
remove
in interfacejava.util.Iterator<S extends SSTableReader>
-
doCreateIterator
protected abstract I doCreateIterator()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-