blob: b69cc8cfb1c0977f24692cf61940492d5fb9c1a6 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NewVersionBehaviorTracker (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="NewVersionBehaviorTracker (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NewVersionBehaviorTracker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html" target="_top">Frames</a></li>
<li><a href="NewVersionBehaviorTracker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hbase.regionserver.querymatcher</div>
<h2 title="Class NewVersionBehaviorTracker" class="title">Class NewVersionBehaviorTracker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.regionserver.querymatcher.NewVersionBehaviorTracker</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html" title="interface in org.apache.hadoop.hbase.regionserver">ShipperListener</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/security/visibility/VisibilityNewVersionBehaivorTracker.html" title="class in org.apache.hadoop.hbase.security.visibility">VisibilityNewVersionBehaivorTracker</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.43">NewVersionBehaviorTracker</a>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></pre>
<div class="block">A tracker both implementing ColumnTracker and DeleteTracker, used for mvcc-sensitive scanning.
We should make sure in one QueryMatcher the ColumnTracker and DeleteTracker is the same instance.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">NewVersionBehaviorTracker.DeleteVersionsNode</a></span></code>
<div class="block">A data structure which contains infos we need that happens before this node's mvcc and
after the previous node's mvcc.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hbase.regionserver.querymatcher.DeleteTracker">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker.DeleteResult</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#columnIndex">columnIndex</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private byte[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#columns">columns</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#comparator">comparator</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#countCurrentCol">countCurrentCol</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">NewVersionBehaviorTracker.DeleteVersionsNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#delColMap">delColMap</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">NewVersionBehaviorTracker.DeleteVersionsNode</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#delFamMap">delFamMap</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqArray">lastCqArray</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqLength">lastCqLength</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqMvcc">lastCqMvcc</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqOffset">lastCqOffset</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqTs">lastCqTs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#lastCqType">lastCqType</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#maxVersions">maxVersions</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#minVersions">minVersions</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#oldestStamp">oldestStamp</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#resultMaxVersions">resultMaxVersions</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#NewVersionBehaviorTracker-java.util.NavigableSet-org.apache.hadoop.hbase.CellComparator-int-int-int-long-">NewVersionBehaviorTracker</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparartor,
int&nbsp;minVersion,
int&nbsp;maxVersion,
int&nbsp;resultMaxVersions,
long&nbsp;oldestUnexpiredTS)</code>
<div class="block">Note maxVersion and minVersion must set according to cf's conf, not user's scan parameter.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#add-org.apache.hadoop.hbase.Cell-">add</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
<div class="block">Add the specified cell to the list of deletes to check against for this row operation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#beforeShipped--">beforeShipped</a></span>()</code>
<div class="block">The action that needs to be performed before <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--"><code>Shipper.shipped()</code></a> is performed</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#checkColumn-org.apache.hadoop.hbase.Cell-byte-">checkColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
byte&nbsp;type)</code>
<div class="block">Checks if the column is present in the list of requested columns by returning the match code
instance.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#checkVersions-org.apache.hadoop.hbase.Cell-long-byte-boolean-">checkVersions</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
long&nbsp;timestamp,
byte&nbsp;type,
boolean&nbsp;ignoreCount)</code>
<div class="block">Keeps track of the number of versions for the columns asked for.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#done--">done</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#getCellComparator--">getCellComparator</a></span>()</code>
<div class="block">Return the comparator passed to this delete tracker</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnCount.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnCount</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#getColumnHint--">getColumnHint</a></span>()</code>
<div class="block">Used by matcher and scan/get to get a hint of the next column
to seek to after checkColumn() returns SKIP.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#getNextRowOrNextColumn-org.apache.hadoop.hbase.Cell-">getNextRowOrNextColumn</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
<div class="block">Retrieve the MatchCode for the next row or column</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker.DeleteResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#isDeleted-org.apache.hadoop.hbase.Cell-">isDeleted</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
<div class="block">This method is not idempotent, we will save some info to judge VERSION_MASKED.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#isDone-long-">isDone</a></span>(long&nbsp;timestamp)</code>
<div class="block">Give the tracker a chance to declare it's done based on only the timestamp
to allow an early out.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#prepare-org.apache.hadoop.hbase.Cell-">prepare</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</code>
<div class="block">Reset the map if it is different with the last Cell.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#reset--">reset</a></span>()</code>
<div class="block">Resets the Matcher</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#resetInternal--">resetInternal</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#update--">update</a></span>()</code>
<div class="block">Called at the end of every StoreFile.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.regionserver.querymatcher.ColumnTracker">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#doneWithColumn-org.apache.hadoop.hbase.Cell-">doneWithColumn</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="lastCqArray">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqArray</h4>
<pre>private&nbsp;byte[] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.45">lastCqArray</a></pre>
</li>
</ul>
<a name="lastCqLength">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqLength</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.46">lastCqLength</a></pre>
</li>
</ul>
<a name="lastCqOffset">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqOffset</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.47">lastCqOffset</a></pre>
</li>
</ul>
<a name="lastCqTs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqTs</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.48">lastCqTs</a></pre>
</li>
</ul>
<a name="lastCqMvcc">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqMvcc</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.49">lastCqMvcc</a></pre>
</li>
</ul>
<a name="lastCqType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lastCqType</h4>
<pre>private&nbsp;byte <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.50">lastCqType</a></pre>
</li>
</ul>
<a name="columnIndex">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnIndex</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.51">columnIndex</a></pre>
</li>
</ul>
<a name="countCurrentCol">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countCurrentCol</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.52">countCurrentCol</a></pre>
</li>
</ul>
<a name="maxVersions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxVersions</h4>
<pre>protected&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.54">maxVersions</a></pre>
</li>
</ul>
<a name="resultMaxVersions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resultMaxVersions</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.55">resultMaxVersions</a></pre>
</li>
</ul>
<a name="columns">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columns</h4>
<pre>private&nbsp;byte[][] <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.56">columns</a></pre>
</li>
</ul>
<a name="minVersions">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>minVersions</h4>
<pre>private&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.57">minVersions</a></pre>
</li>
</ul>
<a name="oldestStamp">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>oldestStamp</h4>
<pre>private&nbsp;long <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.58">oldestStamp</a></pre>
</li>
</ul>
<a name="comparator">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>comparator</h4>
<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.59">comparator</a></pre>
</li>
</ul>
<a name="delColMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delColMap</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">NewVersionBehaviorTracker.DeleteVersionsNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.69">delColMap</a></pre>
</li>
</ul>
<a name="delFamMap">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>delFamMap</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableMap.html?is-external=true" title="class or interface in java.util">NavigableMap</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>,<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">NewVersionBehaviorTracker.DeleteVersionsNode</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.70">delFamMap</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="NewVersionBehaviorTracker-java.util.NavigableSet-org.apache.hadoop.hbase.CellComparator-int-int-int-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NewVersionBehaviorTracker</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.83">NewVersionBehaviorTracker</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/NavigableSet.html?is-external=true" title="class or interface in java.util">NavigableSet</a>&lt;byte[]&gt;&nbsp;columns,
<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparartor,
int&nbsp;minVersion,
int&nbsp;maxVersion,
int&nbsp;resultMaxVersions,
long&nbsp;oldestUnexpiredTS)</pre>
<div class="block">Note maxVersion and minVersion must set according to cf's conf, not user's scan parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>columns</code> - columns specified user in query</dd>
<dd><code>comparartor</code> - the cell comparator</dd>
<dd><code>minVersion</code> - The minimum number of versions to keep(used when TTL is set).</dd>
<dd><code>maxVersion</code> - The maximum number of versions in CF's conf</dd>
<dd><code>resultMaxVersions</code> - maximum versions to return per column, which may be different from
maxVersion</dd>
<dd><code>oldestUnexpiredTS</code> - the oldest timestamp we are interested in, based on TTL</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="beforeShipped--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeShipped</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.101">beforeShipped</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html#beforeShipped--">ShipperListener</a></code></span></div>
<div class="block">The action that needs to be performed before <a href="../../../../../../org/apache/hadoop/hbase/regionserver/Shipper.html#shipped--"><code>Shipper.shipped()</code></a> is performed</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html#beforeShipped--">beforeShipped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/ShipperListener.html" title="interface in org.apache.hadoop.hbase.regionserver">ShipperListener</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="prepare-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre>protected&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.167">prepare</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
<div class="block">Reset the map if it is different with the last Cell.
Save the cq array/offset/length for next Cell.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If this put has duplicate ts with last cell, return the mvcc of last cell.
Else return MAX_VALUE.</dd>
</dl>
</li>
</ul>
<a name="add-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.195">add</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#add-org.apache.hadoop.hbase.Cell-">DeleteTracker</a></code></span></div>
<div class="block">Add the specified cell to the list of deletes to check against for this row operation.
<p>
This is called when a Delete is encountered in a StoreFile.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#add-org.apache.hadoop.hbase.Cell-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cell</code> - - the delete cell</dd>
</dl>
</li>
</ul>
<a name="isDeleted-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDeleted</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker.DeleteResult</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.227">isDeleted</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
<div class="block">This method is not idempotent, we will save some info to judge VERSION_MASKED.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#isDeleted-org.apache.hadoop.hbase.Cell-">isDeleted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cell</code> - - current cell to check if deleted by a previously seen delete</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>We don't distinguish DeleteColumn and DeleteFamily. We only return code for column.</dd>
</dl>
</li>
</ul>
<a name="isEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.265">isEmpty</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#isEmpty--">isEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there are no current delete, false otherwise</dd>
</dl>
</li>
</ul>
<a name="update--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.271">update</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#update--">DeleteTracker</a></code></span></div>
<div class="block">Called at the end of every StoreFile.
<p>
Many optimized implementations of Trackers will require an update at when the end of each
StoreFile is reached.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#update--">update</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
</dl>
</li>
</ul>
<a name="checkColumn-org.apache.hadoop.hbase.Cell-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkColumn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.278">checkColumn</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
byte&nbsp;type)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkColumn-org.apache.hadoop.hbase.Cell-byte-">ColumnTracker</a></code></span></div>
<div class="block">Checks if the column is present in the list of requested columns by returning the match code
instance. It does not check against the number of versions for the columns asked for. To do the
version check, one has to call <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkVersions-org.apache.hadoop.hbase.Cell-long-byte-boolean-"><code>ColumnTracker.checkVersions(Cell, long, byte, boolean)</code></a>
method based on the return type (INCLUDE) of this method. The values that can be returned by
this method are <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#INCLUDE"><code>ScanQueryMatcher.MatchCode.INCLUDE</code></a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#SEEK_NEXT_COL"><code>ScanQueryMatcher.MatchCode.SEEK_NEXT_COL</code></a> and
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#SEEK_NEXT_ROW"><code>ScanQueryMatcher.MatchCode.SEEK_NEXT_ROW</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkColumn-org.apache.hadoop.hbase.Cell-byte-">checkColumn</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cell</code> - a cell with the column to match against</dd>
<dd><code>type</code> - The type of the Cell</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The match code instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - in case there is an internal consistency problem caused by a data
corruption.</dd>
</dl>
</li>
</ul>
<a name="checkVersions-org.apache.hadoop.hbase.Cell-long-byte-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkVersions</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.302">checkVersions</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
long&nbsp;timestamp,
byte&nbsp;type,
boolean&nbsp;ignoreCount)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkVersions-org.apache.hadoop.hbase.Cell-long-byte-boolean-">ColumnTracker</a></code></span></div>
<div class="block">Keeps track of the number of versions for the columns asked for. It assumes that the user has
already checked if the cell needs to be included by calling the
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkColumn-org.apache.hadoop.hbase.Cell-byte-"><code>ColumnTracker.checkColumn(Cell, byte)</code></a> method. The enum values returned by this method
are <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#SKIP"><code>ScanQueryMatcher.MatchCode.SKIP</code></a>, <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#INCLUDE"><code>ScanQueryMatcher.MatchCode.INCLUDE</code></a>,
<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#INCLUDE_AND_SEEK_NEXT_COL"><code>ScanQueryMatcher.MatchCode.INCLUDE_AND_SEEK_NEXT_COL</code></a> and <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#INCLUDE_AND_SEEK_NEXT_ROW"><code>ScanQueryMatcher.MatchCode.INCLUDE_AND_SEEK_NEXT_ROW</code></a>.
Implementations which include all the columns could just return <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html#INCLUDE"><code>ScanQueryMatcher.MatchCode.INCLUDE</code></a> in
the <a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkColumn-org.apache.hadoop.hbase.Cell-byte-"><code>ColumnTracker.checkColumn(Cell, byte)</code></a> method and perform all the operations in this
checkVersions method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#checkVersions-org.apache.hadoop.hbase.Cell-long-byte-boolean-">checkVersions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cell</code> - a cell with the column to match against</dd>
<dd><code>timestamp</code> - The timestamp of the cell.</dd>
<dd><code>type</code> - the type of the key value (Put/Delete)</dd>
<dd><code>ignoreCount</code> - indicates if the KV needs to be excluded while counting (used during
compactions. We only count KV's that are older than all the scanners' read points.)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the scan query matcher match code instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - in case there is an internal consistency problem caused by a data
corruption.</dd>
</dl>
</li>
</ul>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.333">reset</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#reset--">ColumnTracker</a></code></span></div>
<div class="block">Resets the Matcher</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#reset--">reset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#reset--">reset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
</dl>
</li>
</ul>
<a name="resetInternal--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetInternal</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.347">resetInternal</a>()</pre>
</li>
</ul>
<a name="done--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>done</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.352">done</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#done--">done</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> when done.</dd>
</dl>
</li>
</ul>
<a name="getColumnHint--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnHint</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnCount.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnCount</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.357">getColumnHint</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#getColumnHint--">ColumnTracker</a></code></span></div>
<div class="block">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).
Implementations aren't required to return anything useful unless the most recent
call was to checkColumn() and the return code was SKIP. This is pretty implementation
detail-y, but optimizations are like that.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#getColumnHint--">getColumnHint</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null, or a ColumnCount that we should seek to</dd>
</dl>
</li>
</ul>
<a name="getNextRowOrNextColumn-org.apache.hadoop.hbase.Cell-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextRowOrNextColumn</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher">ScanQueryMatcher.MatchCode</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.367">getNextRowOrNextColumn</a>(<a href="../../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#getNextRowOrNextColumn-org.apache.hadoop.hbase.Cell-">ColumnTracker</a></code></span></div>
<div class="block">Retrieve the MatchCode for the next row or column</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#getNextRowOrNextColumn-org.apache.hadoop.hbase.Cell-">getNextRowOrNextColumn</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
</dl>
</li>
</ul>
<a name="isDone-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDone</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.373">isDone</a>(long&nbsp;timestamp)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#isDone-long-">ColumnTracker</a></code></span></div>
<div class="block">Give the tracker a chance to declare it's done based on only the timestamp
to allow an early out.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html#isDone-long-">isDone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ColumnTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">ColumnTracker</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> to early out based on timestamp.</dd>
</dl>
</li>
</ul>
<a name="getCellComparator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCellComparator</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html#line.379">getCellComparator</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#getCellComparator--">DeleteTracker</a></code></span></div>
<div class="block">Return the comparator passed to this delete tracker</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html#getCellComparator--">getCellComparator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver.querymatcher">DeleteTracker</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the cell comparator</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/NewVersionBehaviorTracker.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/MinorCompactionScanQueryMatcher.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.DeleteVersionsNode.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/regionserver/querymatcher/NewVersionBehaviorTracker.html" target="_top">Frames</a></li>
<li><a href="NewVersionBehaviorTracker.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>