org.apache.hadoop.hbase.regionserver
Interface InternalScanner

All Superinterfaces:
Closeable
All Known Implementing Classes:
KeyValueHeap

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
 void close()
          Closes the scanner and releases any resources it has allocated
 boolean next(List<KeyValue> results)
          Grab the next row's worth of values.
 boolean next(List<KeyValue> result, int limit)
          Grab the next row's worth of values with a limit on the number of values to return.
 

Method Detail

next

boolean next(List<KeyValue> results)
             throws IOException
Grab the next row's worth of values.

Parameters:
results - return output array
Returns:
true if more rows exist after this one, false if scanner is done
Throws:
IOException - e

next

boolean next(List<KeyValue> result,
             int limit)
             throws IOException
Grab the next row's worth of values with a limit on the number of values to return.

Parameters:
result - return output array
limit - limit on row count to get
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 Closeable
Throws:
IOException


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.