blob: def4341d80b57aef89a65a45fd5199e1eb4714a9 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CellComparatorImpl (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.hadoop.hbase, class: CellComparatorImpl">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/CellComparatorImpl.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase</a></div>
<h1 title="Class CellComparatorImpl" class="title">Class CellComparatorImpl</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.hadoop.hbase.CellComparatorImpl</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code>, <code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="InnerStoreCellComparator.html" title="class in org.apache.hadoop.hbase">InnerStoreCellComparator</a></code>, <code><a href="MetaCellComparator.html" title="class in org.apache.hadoop.hbase">MetaCellComparator</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@Private
@Evolving
</span><span class="modifiers">public class </span><span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-41">CellComparatorImpl</a></span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></span></div>
<div class="block">Compare two HBase cells. Do not use this method comparing <code>-ROOT-</code> or
<code>hbase:meta</code> cells. Cells from these tables need a specialized comparator, one that
takes account of the special formatting of the row where we have commas to delimit table from
regionname, from row. See KeyValue for how it has a special comparator to do hbase:meta cells and
yet another for -ROOT-.
<p>
While using this comparator for {<a href="#compareRows(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)"><code>compareRows(Cell, Cell)</code></a> et al, the hbase:meta cells
format should be taken into consideration, for which the instance of this comparator should be
used. In all other cases the static APIs in this comparator would be enough
<p>
HOT methods. We spend a good portion of CPU comparing. Anything that makes the compare faster
will likely manifest at the macro level.
</p></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../serialized-form.html#org.apache.hadoop.hbase.CellComparatorImpl">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="CellComparatorImpl.html" title="class in org.apache.hadoop.hbase">CellComparatorImpl</a></code></div>
<div class="col-second even-row-color"><code><a href="#COMPARATOR" class="member-name-link">COMPARATOR</a></code></div>
<div class="col-last even-row-color">
<div class="block">Comparator for plain key/values; i.e.</div>
</div>
<div class="col-first odd-row-color"><code>private static final long</code></div>
<div class="col-second odd-row-color"><code><a href="#serialVersionUID" class="member-name-link">serialVersionUID</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">CellComparatorImpl</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compare</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Lexographically compares two cells.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,boolean)" class="member-name-link">compare</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;l,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;r,
boolean&nbsp;ignoreSequenceid)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compare cells.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareBBKV(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)" class="member-name-link">compareBBKV</a><wbr>(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareColumns(org.apache.hadoop.hbase.Cell,int,int,org.apache.hadoop.hbase.Cell,int,int)" class="member-name-link">compareColumns</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftFamLen,
int&nbsp;leftQualLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightFamLen,
int&nbsp;rightQualLen)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareColumns(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareColumns</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares the family and qualifier part of the cell</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareFamilies(org.apache.hadoop.hbase.ByteBufferKeyValue,int,int,org.apache.hadoop.hbase.ByteBufferKeyValue,int,int)" class="member-name-link">compareFamilies</a><wbr>(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareFamilies(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)" class="member-name-link">compareFamilies</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftFamLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightFamLen)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareFamilies(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareFamilies</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compare the families of left and right cell</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareFamilies(org.apache.hadoop.hbase.KeyValue,int,int,org.apache.hadoop.hbase.ByteBufferKeyValue,int,int)" class="member-name-link">compareFamilies</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareFamilies(org.apache.hadoop.hbase.KeyValue,int,int,org.apache.hadoop.hbase.KeyValue,int,int)" class="member-name-link">compareFamilies</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareKeyValues(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.KeyValue)" class="member-name-link">compareKeyValues</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareKVVsBBKV(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)" class="member-name-link">compareKVVsBBKV</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)" class="member-name-link">compareQualifiers</a><wbr>(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.KeyValue)" class="member-name-link">compareQualifiers</a><wbr>(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private final int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)" class="member-name-link">compareQualifiers</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftQualLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightQualLen)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareQualifiers</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compare the qualifiers part of the left and right cells.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)" class="member-name-link">compareQualifiers</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compareQualifiers(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.KeyValue)" class="member-name-link">compareQualifiers</a><wbr>(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareRows(org.apache.hadoop.hbase.Cell,byte%5B%5D,int,int)" class="member-name-link">compareRows</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
byte[]&nbsp;right,
int&nbsp;roffset,
int&nbsp;rlength)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares the row part of the cell with a simple plain byte[] like the stopRow in Scan.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>(package private) static int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#compareRows(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)" class="member-name-link">compareRows</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftRowLength,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightRowLength)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareRows(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareRows</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares the rows of the left and right cell.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareTimestamps(long,long)" class="member-name-link">compareTimestamps</a><wbr>(long&nbsp;ltimestamp,
long&nbsp;rtimestamp)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares cell's timestamps in DESCENDING order.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareTimestamps(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareTimestamps</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Compares cell's timestamps in DESCENDING order.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#compareWithoutRow(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)" class="member-name-link">compareWithoutRow</a><wbr>(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Lexicographically compares the two cells excluding the row part.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getCellComparator(byte%5B%5D)" class="member-name-link">getCellComparator</a><wbr>(byte[]&nbsp;tableName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Utility method that makes a guess at comparator to use based off passed tableName.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getCellComparator(org.apache.hadoop.hbase.TableName)" class="member-name-link">getCellComparator</a><wbr>(<a href="TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Utility method that makes a guess at comparator to use based off passed tableName.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSimpleComparator()" class="member-name-link">getSimpleComparator</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a dumbed-down, fast comparator for hbase2 base-type, the <a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase"><code>ByteBufferKeyValue</code></a>.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.CellComparator">Methods inherited from interface&nbsp;org.apache.hadoop.hbase.<a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></h3>
<code><a href="CellComparator.html#compareRows(byte%5B%5D,byte%5B%5D)">compareRows</a>, <a href="CellComparator.html#compareRows(java.nio.ByteBuffer,org.apache.hadoop.hbase.Cell)">compareRows</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.util.Comparator">Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#equals(java.lang.Object)" title="class or interface in java.util" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#reversed()" title="class or interface in java.util" class="external-link">reversed</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparing(java.util.Comparator)" title="class or interface in java.util" class="external-link">thenComparing</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparing(java.util.function.Function)" title="class or interface in java.util" class="external-link">thenComparing</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparing(java.util.function.Function,java.util.Comparator)" title="class or interface in java.util" class="external-link">thenComparing</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparingDouble(java.util.function.ToDoubleFunction)" title="class or interface in java.util" class="external-link">thenComparingDouble</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparingInt(java.util.function.ToIntFunction)" title="class or interface in java.util" class="external-link">thenComparingInt</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#thenComparingLong(java.util.function.ToLongFunction)" title="class or interface in java.util" class="external-link">thenComparingLong</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="serialVersionUID">
<h3>serialVersionUID</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-48">serialVersionUID</a></span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../constant-values.html#org.apache.hadoop.hbase.CellComparatorImpl.serialVersionUID">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="COMPARATOR">
<h3>COMPARATOR</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type"><a href="CellComparatorImpl.html" title="class in org.apache.hadoop.hbase">CellComparatorImpl</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-54">COMPARATOR</a></span></div>
<div class="block">Comparator for plain key/values; i.e. non-catalog table key/values. Works on Key portion of
KeyValue only.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>CellComparatorImpl</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-46">CellComparatorImpl</a></span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compare</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-56">compare</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;a,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;b)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">CellComparator</a></code></span></div>
<div class="block">Lexographically compares two cells. The key part of the cell is taken for comparison which
includes row, family, qualifier, timestamp and type</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compare</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html#compare(T,T)" title="class or interface in java.util" class="external-link">compare</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>a</code> - the left hand side cell</dd>
<dd><code>b</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>greater than 0 if leftCell is bigger, less than 0 if rightCell is bigger, 0 if both
cells are equal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,boolean)">
<h3>compare</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-61">compare</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;l,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;r,
boolean&nbsp;ignoreSequenceid)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,boolean)">CellComparator</a></code></span></div>
<div class="block">Compare cells.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compare(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell,boolean)">compare</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dd><code>ignoreSequenceid</code> - True if we are to compare the key portion only and ignore the
sequenceid. Set to false to compare key and consider sequenceid.</dd>
<dt>Returns:</dt>
<dd>0 if equal, -1 if a &lt; b, and +1 if a &gt; b.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareKeyValues(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.KeyValue)">
<h3>compareKeyValues</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-103">compareKeyValues</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareBBKV(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)">
<h3>compareBBKV</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-186">compareBBKV</a></span><wbr><span class="parameters">(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareKVVsBBKV(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)">
<h3>compareKVVsBBKV</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-268">compareKVVsBBKV</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareColumns(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareColumns</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-354">compareColumns</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block">Compares the family and qualifier part of the cell</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>0 if both cells are equal, 1 if left cell is bigger than right, -1 otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareColumns(org.apache.hadoop.hbase.Cell,int,int,org.apache.hadoop.hbase.Cell,int,int)">
<h3>compareColumns</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-362">compareColumns</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftFamLen,
int&nbsp;leftQualLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightFamLen,
int&nbsp;rightQualLen)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareFamilies(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)">
<h3>compareFamilies</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-374">compareFamilies</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftFamLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightFamLen)</span></div>
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-399">compareQualifiers</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftQualLen,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightQualLen)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareFamilies(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareFamilies</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-428">compareFamilies</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block">Compare the families of left and right cell</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareFamilies(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compareFamilies</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the left hand side cell</dd>
<dd><code>right</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>0 if both cells are equal, 1 if left cell is bigger than right, -1 otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareFamilies(org.apache.hadoop.hbase.KeyValue,int,int,org.apache.hadoop.hbase.KeyValue,int,int)">
<h3>compareFamilies</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-457">compareFamilies</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</span></div>
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</section>
</li>
<li>
<section class="detail" id="compareFamilies(org.apache.hadoop.hbase.ByteBufferKeyValue,int,int,org.apache.hadoop.hbase.ByteBufferKeyValue,int,int)">
<h3>compareFamilies</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-466">compareFamilies</a></span><wbr><span class="parameters">(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</span></div>
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</section>
</li>
<li>
<section class="detail" id="compareFamilies(org.apache.hadoop.hbase.KeyValue,int,int,org.apache.hadoop.hbase.ByteBufferKeyValue,int,int)">
<h3>compareFamilies</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-476">compareFamilies</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
int&nbsp;leftFamilyPosition,
int&nbsp;leftFamilyLength,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right,
int&nbsp;rightFamilyPosition,
int&nbsp;rightFamilyLength)</span></div>
<div class="block">This method will be overridden when we compare cells inner store to bypass family comparing.</div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.KeyValue)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-482">compareQualifiers</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.KeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-514">compareQualifiers</a></span><wbr><span class="parameters">(<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.KeyValue)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-546">compareQualifiers</a></span><wbr><span class="parameters">(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.ByteBufferKeyValue,org.apache.hadoop.hbase.ByteBufferKeyValue)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-578">compareQualifiers</a></span><wbr><span class="parameters">(<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;left,
<a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase">ByteBufferKeyValue</a>&nbsp;right)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareQualifiers(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareQualifiers</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-614">compareQualifiers</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block">Compare the qualifiers part of the left and right cells.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareQualifiers(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compareQualifiers</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the left hand side cell</dd>
<dd><code>right</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>0 if both cells are equal, 1 if left cell is bigger than right, -1 otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareRows(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareRows</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-658">compareRows</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block">Compares the rows of the left and right cell. For the hbase:meta case this method is overridden
such that it can handle hbase:meta cells. The caller should ensure using the appropriate
comparator for hbase:meta.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareRows(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compareRows</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the left hand side cell</dd>
<dd><code>right</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>0 if both cells are equal, 1 if left cell is bigger than right, -1 otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareRows(org.apache.hadoop.hbase.Cell,int,org.apache.hadoop.hbase.Cell,int)">
<h3>compareRows</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-663">compareRows</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
int&nbsp;leftRowLength,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right,
int&nbsp;rightRowLength)</span></div>
</section>
</li>
<li>
<section class="detail" id="compareRows(org.apache.hadoop.hbase.Cell,byte[],int,int)">
<h3>compareRows</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-700">compareRows</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
byte[]&nbsp;right,
int&nbsp;roffset,
int&nbsp;rlength)</span></div>
<div class="block">Compares the row part of the cell with a simple plain byte[] like the stopRow in Scan. This
should be used with context where for hbase:meta cells the
{<a href="MetaCellComparator.html#META_COMPARATOR"><code>MetaCellComparator.META_COMPARATOR</code></a> should be used the cell to be compared the kv
serialized byte[] to be compared with the offset in the byte[] the length in the byte[]</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareRows(org.apache.hadoop.hbase.Cell,byte%5B%5D,int,int)">compareRows</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the cell</dd>
<dd><code>right</code> - the byte[] representing the row to be compared with</dd>
<dd><code>roffset</code> - the offset of the byte[]</dd>
<dd><code>rlength</code> - the length of the byte[]</dd>
<dt>Returns:</dt>
<dd>0 if both cell and the byte[] are equal, 1 if the cell is bigger than byte[], -1
otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareWithoutRow(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareWithoutRow</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-711">compareWithoutRow</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#compareWithoutRow(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">CellComparator</a></code></span></div>
<div class="block">Lexicographically compares the two cells excluding the row part. It compares family, qualifier,
timestamp and the type</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareWithoutRow(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compareWithoutRow</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the left hand side cell</dd>
<dd><code>right</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>greater than 0 if leftCell is bigger, less than 0 if rightCell is bigger, 0 if both
cells are equal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareTimestamps(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">
<h3>compareTimestamps</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-752">compareTimestamps</a></span><wbr><span class="parameters">(<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#compareTimestamps(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">CellComparator</a></code></span></div>
<div class="block">Compares cell's timestamps in DESCENDING order. The below older timestamps sorting ahead of
newer timestamps looks wrong but it is intentional. This way, newer timestamps are first found
when we iterate over a memstore and newer versions are the first we trip over when reading from
a store file.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareTimestamps(org.apache.hadoop.hbase.Cell,org.apache.hadoop.hbase.Cell)">compareTimestamps</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>left</code> - the left hand side cell</dd>
<dd><code>right</code> - the right hand side cell</dd>
<dt>Returns:</dt>
<dd>1 if left's timestamp &lt; right's timestamp -1 if left's timestamp &gt; right's
timestamp 0 if both timestamps are equal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="compareTimestamps(long,long)">
<h3>compareTimestamps</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-757">compareTimestamps</a></span><wbr><span class="parameters">(long&nbsp;ltimestamp,
long&nbsp;rtimestamp)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#compareTimestamps(long,long)">CellComparator</a></code></span></div>
<div class="block">Compares cell's timestamps in DESCENDING order. The below older timestamps sorting ahead of
newer timestamps looks wrong but it is intentional. This way, newer timestamps are first found
when we iterate over a memstore and newer versions are the first we trip over when reading from
a store file.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#compareTimestamps(long,long)">compareTimestamps</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
<dt>Parameters:</dt>
<dd><code>ltimestamp</code> - the left cell's timestamp</dd>
<dd><code>rtimestamp</code> - the right cell's timestamp</dd>
<dt>Returns:</dt>
<dd>1 if left's timestamp &lt; right's timestamp -1 if left's timestamp &gt; right's
timestamp 0 if both timestamps are equal</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getSimpleComparator()">
<h3>getSimpleComparator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Comparator.html" title="class or interface in java.util" class="external-link">Comparator</a>&lt;<a href="Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;</span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-763">getSimpleComparator</a></span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="CellComparator.html#getSimpleComparator()">CellComparator</a></code></span></div>
<div class="block">Return a dumbed-down, fast comparator for hbase2 base-type, the <a href="ByteBufferKeyValue.html" title="class in org.apache.hadoop.hbase"><code>ByteBufferKeyValue</code></a>.
Create an instance when you make a new memstore, when you know only BBKVs will be passed. Do
not pollute with types other than BBKV if can be helped; the Comparator will slow.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="CellComparator.html#getSimpleComparator()">getSimpleComparator</a></code>&nbsp;in interface&nbsp;<code><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCellComparator(org.apache.hadoop.hbase.TableName)">
<h3>getCellComparator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-773">getCellComparator</a></span><wbr><span class="parameters">(<a href="TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</span></div>
<div class="block">Utility method that makes a guess at comparator to use based off passed tableName. Use in
extreme when no comparator specified.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>CellComparator to use going off the <code>tableName</code> passed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCellComparator(byte[])">
<h3>getCellComparator</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="CellComparator.html" title="interface in org.apache.hadoop.hbase">CellComparator</a></span>&nbsp;<span class="element-name"><a href="../../../../src-html/org/apache/hadoop/hbase/CellComparatorImpl.html#line-782">getCellComparator</a></span><wbr><span class="parameters">(byte[]&nbsp;tableName)</span></div>
<div class="block">Utility method that makes a guess at comparator to use based off passed tableName. Use in
extreme when no comparator specified.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>CellComparator to use going off the <code>tableName</code> passed.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>