Interface InternalScanner

All Superinterfaces:
AutoCloseable, Closeable
All Known Subinterfaces:
RegionScanner
All Known Implementing Classes:
DelegatingInternalScanner, KeyValueHeap, MobStoreScanner, RegionScannerImpl, ReversedKeyValueHeap, ReversedMobStoreScanner, ReversedRegionScannerImpl, ReversedStoreScanner, StoreScanner

@LimitedPrivate("Coprocesssor") @Evolving public interface InternalScanner extends Closeable
Internal scanners differ from client-side scanners in that they operate on HStoreKeys and byte[] instead of RowResults. This is because they are actually close to how the data is physically stored, and therefore it is more convenient to interact with them that way. It is also much easier to merge the results across SortedMaps than RowResults.

Additionally, we need to be able to determine if the scanner is doing wildcard column matches (when only a column family is specified or if a column regex is specified) or if multiple members of the same column family were specified. If so, we need to ignore the timestamp to ensure that we get all the family members, as they may have been last updated at different times.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the scanner and releases any resources it has allocated
    default boolean
    next(List<Cell> result)
    Grab the next row's worth of values.
    boolean
    next(List<Cell> result, ScannerContext scannerContext)
    Grab the next row's worth of values.
  • Method Details

    • next

      default boolean next(List<Cell> result) throws IOException
      Grab the next row's worth of values.
      Parameters:
      result - return output array
      Returns:
      true if more rows exist after this one, false if scanner is done
      Throws:
      IOException - e
    • next

      boolean next(List<Cell> result, ScannerContext scannerContext) throws IOException
      Grab the next row's worth of values.
      Parameters:
      result - return output array
      Returns:
      true if more rows exist after this one, false if scanner is done
      Throws:
      IOException - e
    • close

      void close() throws IOException
      Closes the scanner and releases any resources it has allocated
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException