org.apache.hadoop.hbase.regionserver
Class ScanWildcardColumnTracker

java.lang.Object
  extended by org.apache.hadoop.hbase.regionserver.ScanWildcardColumnTracker
All Implemented Interfaces:
ColumnTracker

public class ScanWildcardColumnTracker
extends Object
implements ColumnTracker

Keeps track of the columns for a scan if they are not explicitly specified


Constructor Summary
ScanWildcardColumnTracker(int minVersion, int maxVersion, long ttl)
          Return maxVersions of every row.
 
Method Summary
 ScanQueryMatcher.MatchCode checkColumn(byte[] bytes, int offset, int length, long timestamp, boolean ignoreCount)
          Can only return INCLUDE or SKIP, since returning "NEXT" or "DONE" would imply we have finished with this row, when this class can't figure that out.
 boolean done()
          We can never know a-priori if we are done, so always return false.
 ColumnCount getColumnHint()
          Used by matcher and scan/get to get a hint of the next column to seek to after checkColumn() returns SKIP.
 ScanQueryMatcher.MatchCode getNextRowOrNextColumn(byte[] bytes, int offset, int qualLength)
          Retrieve the MatchCode for the next row or column
 boolean isDone(long timestamp)
          Give the tracker a chance to declare it's done based on only the timestamp to allow an early out.
 void reset()
          Resets the Matcher
 void update()
          Updates internal variables in between files
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScanWildcardColumnTracker

public ScanWildcardColumnTracker(int minVersion,
                                 int maxVersion,
                                 long ttl)
Return maxVersions of every row.

Parameters:
minVersion - Minimum number of versions to keep
maxVersion - Maximum number of versions to return
ttl - TimeToLive to enforce
Method Detail

checkColumn

public ScanQueryMatcher.MatchCode checkColumn(byte[] bytes,
                                              int offset,
                                              int length,
                                              long timestamp,
                                              boolean ignoreCount)
                                       throws IOException
Can only return INCLUDE or SKIP, since returning "NEXT" or "DONE" would imply we have finished with this row, when this class can't figure that out.

Specified by:
checkColumn in interface ColumnTracker
Parameters:
bytes -
offset -
length -
timestamp -
ignoreCount -
Returns:
The match code instance.
Throws:
IOException - in case there is an internal consistency problem caused by a data corruption.

update

public void update()
Description copied from interface: ColumnTracker
Updates internal variables in between files

Specified by:
update in interface ColumnTracker

reset

public void reset()
Description copied from interface: ColumnTracker
Resets the Matcher

Specified by:
reset in interface ColumnTracker

getColumnHint

public ColumnCount getColumnHint()
Used by matcher and scan/get to get a hint of the next column to seek to after checkColumn() returns SKIP. Returns the next interesting column we want, or NULL there is none (wildcard scanner).

Specified by:
getColumnHint in interface ColumnTracker
Returns:
The column count.

done

public boolean done()
We can never know a-priori if we are done, so always return false.

Specified by:
done in interface ColumnTracker
Returns:
false

getNextRowOrNextColumn

public ScanQueryMatcher.MatchCode getNextRowOrNextColumn(byte[] bytes,
                                                         int offset,
                                                         int qualLength)
Description copied from interface: ColumnTracker
Retrieve the MatchCode for the next row or column

Specified by:
getNextRowOrNextColumn in interface ColumnTracker

isDone

public boolean isDone(long timestamp)
Description copied from interface: ColumnTracker
Give the tracker a chance to declare it's done based on only the timestamp to allow an early out.

Specified by:
isDone in interface ColumnTracker
Returns:
true to early out based on timestamp.


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