Class NormalUserScanQueryMatcher
java.lang.Object
org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
org.apache.hadoop.hbase.regionserver.querymatcher.UserScanQueryMatcher
org.apache.hadoop.hbase.regionserver.querymatcher.NormalUserScanQueryMatcher
- All Implemented Interfaces:
ShipperListener
Query matcher for normal user scan.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
ScanQueryMatcher.MatchCode
-
Field Summary
Modifier and TypeFieldDescriptionprivate final DeleteTracker
Keeps track of deletesprivate final boolean
True if we are doing a 'Get' Scan.protected final boolean
whether time range queries can see rows "behind" a deleteFields inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.UserScanQueryMatcher
filter, hasNullColumn, stopRow, tr
Fields inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
columns, currentRow, now, oldestUnexpiredTS, rowComparator, startKey
-
Constructor Summary
ModifierConstructorDescriptionprotected
NormalUserScanQueryMatcher
(Scan scan, ScanInfo scanInfo, ColumnTracker columns, boolean hasNullColumn, DeleteTracker deletes, long oldestUnexpiredTS, long now) -
Method Summary
Modifier and TypeMethodDescriptionvoid
The action that needs to be performed beforeShipper.shipped()
is performedstatic NormalUserScanQueryMatcher
create
(Scan scan, ScanInfo scanInfo, ColumnTracker columns, DeleteTracker deletes, boolean hasNullColumn, long oldestUnexpiredTS, long now) protected boolean
isGet()
Determines if the caller should do one of several things: seek/skip to the next row (MatchCode.SEEK_NEXT_ROW) seek/skip to the next column (MatchCode.SEEK_NEXT_COL) include the current KeyValue (MatchCode.INCLUDE) ignore the current KeyValue (MatchCode.SKIP) got to the next row (MatchCode.DONE)protected void
reset()
Methods inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.UserScanQueryMatcher
create, getFilter, getNextKeyHint, hasNullColumnInQuery, isUserScan, matchColumn, moreRowsMayExistAfter, moreRowsMayExistsAfter
Methods inherited from class org.apache.hadoop.hbase.regionserver.querymatcher.ScanQueryMatcher
checkColumn, checkDeleted, clearCurrentRow, compareKeyForNextColumn, compareKeyForNextRow, createStartKeyFromRow, currentRow, getKeyForNextColumn, getStartKey, getTrackers, preCheck, setToNewRow
-
Field Details
-
deletes
Keeps track of deletes -
get
True if we are doing a 'Get' Scan. Every Get is actually a one-row Scan. -
seePastDeleteMarkers
whether time range queries can see rows "behind" a delete
-
-
Constructor Details
-
NormalUserScanQueryMatcher
protected NormalUserScanQueryMatcher(Scan scan, ScanInfo scanInfo, ColumnTracker columns, boolean hasNullColumn, DeleteTracker deletes, long oldestUnexpiredTS, long now)
-
-
Method Details
-
beforeShipped
Description copied from interface:ShipperListener
The action that needs to be performed beforeShipper.shipped()
is performed- Specified by:
beforeShipped
in interfaceShipperListener
- Overrides:
beforeShipped
in classUserScanQueryMatcher
- Throws:
IOException
-
match
Description copied from class:ScanQueryMatcher
Determines if the caller should do one of several things:- seek/skip to the next row (MatchCode.SEEK_NEXT_ROW)
- seek/skip to the next column (MatchCode.SEEK_NEXT_COL)
- include the current KeyValue (MatchCode.INCLUDE)
- ignore the current KeyValue (MatchCode.SKIP)
- got to the next row (MatchCode.DONE)
- Specified by:
match
in classScanQueryMatcher
- Parameters:
cell
- KeyValue to check- Returns:
- The match code instance.
- Throws:
IOException
- in case there is an internal consistency problem caused by a data corruption.
-
reset
- Specified by:
reset
in classScanQueryMatcher
-
isGet
- Specified by:
isGet
in classUserScanQueryMatcher
-
create
public static NormalUserScanQueryMatcher create(Scan scan, ScanInfo scanInfo, ColumnTracker columns, DeleteTracker deletes, boolean hasNullColumn, long oldestUnexpiredTS, long now) throws IOException - Throws:
IOException
-