org.apache.hadoop.hbase.regionserver
Class MemStore.MemStoreScanner

java.lang.Object
  extended by org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner
      extended by org.apache.hadoop.hbase.regionserver.MemStore.MemStoreScanner
All Implemented Interfaces:
KeyValueScanner
Enclosing class:
MemStore

protected class MemStore.MemStoreScanner
extends NonLazyKeyValueScanner


Method Summary
 void close()
          Close the KeyValue scanner.
 long getSequenceID()
          MemStoreScanner returns max value as sequence id because it will always have the latest data among all files.
 KeyValue next()
          Return the next KeyValue in this scanner, iterating the scanner
 KeyValue peek()
          Look at the next KeyValue in this scanner, but do not iterate scanner.
 boolean reseek(KeyValue key)
          Move forward on the sub-lists set previously by seek.
 boolean seek(KeyValue key)
          Set the scanner at the seek key.
 boolean shouldUseScanner(Scan scan, SortedSet<byte[]> columns, long oldestUnexpiredTS)
          Allows to filter out scanners (both StoreFile and memstore) that we don't want to use based on criteria such as Bloom filters and timestamp ranges.
 
Methods inherited from class org.apache.hadoop.hbase.regionserver.NonLazyKeyValueScanner
doRealSeek, enforceSeek, isFileScanner, realSeekDone, requestSeek
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

seek

public boolean seek(KeyValue key)
Set the scanner at the seek key. Must be called only once: there is no thread safety between the scanner and the memStore.

Parameters:
key - seek value
Returns:
false if the key is null or if there is no data

reseek

public boolean reseek(KeyValue key)
Move forward on the sub-lists set previously by seek.

Parameters:
key - seek value (should be non-null)
Returns:
true if there is at least one KV to read, false otherwise

peek

public KeyValue peek()
Description copied from interface: KeyValueScanner
Look at the next KeyValue in this scanner, but do not iterate scanner.

Returns:
the next KeyValue

next

public KeyValue next()
Description copied from interface: KeyValueScanner
Return the next KeyValue in this scanner, iterating the scanner

Returns:
the next KeyValue

close

public void close()
Description copied from interface: KeyValueScanner
Close the KeyValue scanner.


getSequenceID

public long getSequenceID()
MemStoreScanner returns max value as sequence id because it will always have the latest data among all files.


shouldUseScanner

public boolean shouldUseScanner(Scan scan,
                                SortedSet<byte[]> columns,
                                long oldestUnexpiredTS)
Description copied from interface: KeyValueScanner
Allows to filter out scanners (both StoreFile and memstore) that we don't want to use based on criteria such as Bloom filters and timestamp ranges.

Specified by:
shouldUseScanner in interface KeyValueScanner
Overrides:
shouldUseScanner in class NonLazyKeyValueScanner
Parameters:
scan - the scan that we are selecting scanners for
columns - the set of columns in the current column family, or null if not specified by the scan
oldestUnexpiredTS - the oldest timestamp we are interested in for this query, based on TTL
Returns:
true if the scanner should be included in the query


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