org.apache.cassandra.io.sstable.format.big

## Class BigTableScanner

- java.lang.Object
- - org.apache.cassandra.io.sstable.format.big.BigTableScanner

- All Implemented Interfaces:
    java.lang.AutoCloseable, java.util.Iterator<UnfilteredRowIterator>, BasePartitionIterator<UnfilteredRowIterator>, UnfilteredPartitionIterator, ISSTableScanner, CloseableIterator<UnfilteredRowIterator>

      public class BigTableScanner
      extends java.lang.Object
      implements ISSTableScanner

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `BigTableScanner.EmptySSTableScanner`
    `protected class` | `BigTableScanner.KeyScanningIterator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected RandomAccessReader` | `dfile`
    `protected RandomAccessReader` | `ifile`
    `protected java.util.Iterator<UnfilteredRowIterator>` | `iterator`
    `SSTableReader` | `sstable`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `java.lang.String` | `getBackingFiles()`
    `long` | `getBytesScanned()`
    `long` | `getCompressedLengthInBytes()`
    `long` | `getCurrentPosition()`
    `long` | `getLengthInBytes()`
    `static ISSTableScanner` | `getScanner(SSTableReader sstable, java.util.Collection<Range<Token>> tokenRanges, com.google.common.util.concurrent.RateLimiter limiter)`
    `static ISSTableScanner` | `getScanner(SSTableReader sstable, ColumnFilter columns, DataRange dataRange, com.google.common.util.concurrent.RateLimiter limiter, boolean isForThrift, SSTableReadsListener listener)`
    `static ISSTableScanner` | `getScanner(SSTableReader sstable, java.util.Iterator<AbstractBounds<PartitionPosition>> rangeIterator)`
    `static ISSTableScanner` | `getScanner(SSTableReader sstable, com.google.common.util.concurrent.RateLimiter limiter)`
    `boolean` | `hasNext()`
    `boolean` | `isForThrift()` Whether that partition iterator is for a thrift queries.
    `CFMetaData` | `metadata()`
    `UnfilteredRowIterator` | `next()`
    `void` | `remove()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Iterator

      `forEachRemaining`

- - ### Field Detail

    - #### dfile

          protected final RandomAccessReader dfile

    - #### ifile

          protected final RandomAccessReader ifile

    - #### sstable

          public final SSTableReader sstable

    - #### iterator

          protected java.util.Iterator<UnfilteredRowIterator> iterator

  - ### Method Detail

    - #### getScanner

          public static ISSTableScanner getScanner(SSTableReader sstable,
                                                   com.google.common.util.concurrent.RateLimiter limiter)

    - #### getScanner

          public static ISSTableScanner getScanner(SSTableReader sstable,
                                                   ColumnFilter columns,
                                                   DataRange dataRange,
                                                   com.google.common.util.concurrent.RateLimiter limiter,
                                                   boolean isForThrift,
                                                   SSTableReadsListener listener)

    - #### getScanner

          public static ISSTableScanner getScanner(SSTableReader sstable,
                                                   java.util.Collection<Range<Token>> tokenRanges,
                                                   com.google.common.util.concurrent.RateLimiter limiter)

    - #### getScanner

          public static ISSTableScanner getScanner(SSTableReader sstable,
                                                   java.util.Iterator<AbstractBounds<PartitionPosition>> rangeIterator)

    - #### close

          public void close()

      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in interface `BasePartitionIterator<UnfilteredRowIterator>`
      Specified by:
        `close` in interface `CloseableIterator<UnfilteredRowIterator>`

    - #### getLengthInBytes

          public long getLengthInBytes()

      Specified by:
        `getLengthInBytes` in interface `ISSTableScanner`

    - #### getCurrentPosition

          public long getCurrentPosition()

      Specified by:
        `getCurrentPosition` in interface `ISSTableScanner`

    - #### getBytesScanned

          public long getBytesScanned()

      Specified by:
        `getBytesScanned` in interface `ISSTableScanner`

    - #### getCompressedLengthInBytes

          public long getCompressedLengthInBytes()

      Specified by:
        `getCompressedLengthInBytes` in interface `ISSTableScanner`

    - #### getBackingFiles

          public java.lang.String getBackingFiles()

      Specified by:
        `getBackingFiles` in interface `ISSTableScanner`

    - #### isForThrift

          public boolean isForThrift()

      Description copied from interface: `UnfilteredPartitionIterator`
      Whether that partition iterator is for a thrift queries.

      If this is true, the partition iterator may return some empty UnfilteredRowIterator and those should be preserved as thrift include partitions that "exists" (have some cells even if this are actually deleted) but have nothing matching the query.

      Specified by:
        `isForThrift` in interface `UnfilteredPartitionIterator`
      Returns:
        whether the iterator is for a thrift query.

    - #### metadata

          public CFMetaData metadata()

      Specified by:
        `metadata` in interface `UnfilteredPartitionIterator`

    - #### hasNext

          public boolean hasNext()

      Specified by:
        `hasNext` in interface `java.util.Iterator<UnfilteredRowIterator>`

    - #### next

          public UnfilteredRowIterator next()

      Specified by:
        `next` in interface `java.util.Iterator<UnfilteredRowIterator>`

    - #### remove

          public void remove()

      Specified by:
        `remove` in interface `java.util.Iterator<UnfilteredRowIterator>`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

Copyright © 2018 The Apache Software Foundation