blob: fbe4bd343226d8823dd8425a5649f8713cb9e02e [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>MergeSortWrapper (Drill : 1.20.3 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="MergeSortWrapper (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":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/MergeSortWrapper.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/drill/exec/physical/impl/xsort/InputBatch.html" title="class in org.apache.drill.exec.physical.impl.xsort"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.State.html" title="enum in org.apache.drill.exec.physical.impl.xsort"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html" target="_top">Frames</a></li>
<li><a href="MergeSortWrapper.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="#fields.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseSortWrapper">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>Field&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.drill.exec.physical.impl.xsort</div>
<h2 title="Class MergeSortWrapper" class="title">Class MergeSortWrapper</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><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">org.apache.drill.exec.physical.impl.xsort.BaseWrapper</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">org.apache.drill.exec.physical.impl.xsort.BaseSortWrapper</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.physical.impl.xsort.MergeSortWrapper</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">MergeSortWrapper</span>
extends <a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">BaseSortWrapper</a>
implements <a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></pre>
<div class="block">Wrapper around the "MSorter" (in memory merge sorter). As batches have
arrived to the sort, they have been individually sorted and buffered
in memory. At the completion of the sort, we detect that no batches
were spilled to disk. In this case, we can merge the in-memory batches
using an efficient memory-based approach implemented here.
<p>
Since all batches are in memory, we don't want to use the usual merge
algorithm as that makes a copy of the original batches (which were read
from a spill file) to produce an output batch. Instead, we want to use
the in-memory batches as-is. To do this, we use a selection vector 4
(SV4) as a global index into the collection of batches. The SV4 uses
the upper two bytes as the batch index, and the lower two as an offset
of a record within the batch.
<p>
The merger ("M Sorter") populates the SV4 by scanning the set of
in-memory batches, searching for the one with the lowest value of the
sort key. The batch number and offset are placed into the SV4. The process
continues until all records from all batches have an entry in the SV4.
<p>
The actual implementation uses an iterative merge to perform the above
efficiently.
<p>
A sort can only do a single merge. So, we do not attempt to share the
generated class; we just generate it internally and discard it at
completion of the merge.
<p>
The merge sorter only makes sense when we have at least one row. The
caller must handle the special case of no rows.</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>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.State.html" title="enum in org.apache.drill.exec.physical.impl.xsort">MergeSortWrapper.State</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseSortWrapper">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.exec.physical.impl.xsort.<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">BaseSortWrapper</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html#LEFT_MAPPING">LEFT_MAPPING</a>, <a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html#MAIN_MAPPING">MAIN_MAPPING</a>, <a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html#RIGHT_MAPPING">RIGHT_MAPPING</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseWrapper">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.exec.physical.impl.xsort.<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">BaseWrapper</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseWrapper.html#context">context</a></code></li>
</ul>
</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/drill/exec/physical/impl/xsort/MergeSortWrapper.html#MergeSortWrapper-org.apache.drill.exec.ops.OperatorContext-org.apache.drill.exec.record.VectorContainer-">MergeSortWrapper</a></span>(<a href="../../../../../../../org/apache/drill/exec/ops/OperatorContext.html" title="interface in org.apache.drill.exec.ops">OperatorContext</a>&nbsp;opContext,
<a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a>&nbsp;destContainer)</code>&nbsp;</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/drill/exec/physical/impl/xsort/MergeSortWrapper.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#getBatchCount--">getBatchCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#getContainer--">getContainer</a></span>()</code>
<div class="block">Container into which results are delivered.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#getRecordCount--">getRecordCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector2.html" title="class in org.apache.drill.exec.record.selection">SelectionVector2</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#getSv2--">getSv2</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector4.html" title="class in org.apache.drill.exec.record.selection">SelectionVector4</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#getSv4--">getSv4</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#merge-java.util.List-int-">merge</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/InputBatch.html" title="class in org.apache.drill.exec.physical.impl.xsort">InputBatch</a>&gt;&nbsp;batchGroups,
int&nbsp;outputBatchSize)</code>
<div class="block">Merge the set of in-memory batches to produce a single logical output in the given
destination container, indexed by an SV4.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#next--">next</a></span>()</code>
<div class="block">The SV4 provides a built-in iterator that returns a virtual set of record
batches so that the downstream operator need not consume the entire set
of accumulated batches in a single step.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html#updateOutputContainer-org.apache.drill.exec.record.VectorContainer-org.apache.drill.exec.record.selection.SelectionVector4-org.apache.drill.exec.record.RecordBatch.IterOutcome-org.apache.drill.exec.record.BatchSchema-">updateOutputContainer</a></span>(<a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a>&nbsp;container,
<a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector4.html" title="class in org.apache.drill.exec.record.selection">SelectionVector4</a>&nbsp;sv4,
<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.IterOutcome.html" title="enum in org.apache.drill.exec.record">RecordBatch.IterOutcome</a>&nbsp;outcome,
<a href="../../../../../../../org/apache/drill/exec/record/BatchSchema.html" title="class in org.apache.drill.exec.record">BatchSchema</a>&nbsp;schema)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseSortWrapper">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.exec.physical.impl.xsort.<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">BaseSortWrapper</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseSortWrapper.html#generateComparisons-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.record.VectorAccessible-org.slf4j.Logger-">generateComparisons</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseWrapper">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.exec.physical.impl.xsort.<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseWrapper.html" title="class in org.apache.drill.exec.physical.impl.xsort">BaseWrapper</a></h3>
<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/BaseWrapper.html#getInstance-org.apache.drill.exec.expr.CodeGenerator-org.slf4j.Logger-">getInstance</a></code></li>
</ul>
<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>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MergeSortWrapper-org.apache.drill.exec.ops.OperatorContext-org.apache.drill.exec.record.VectorContainer-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MergeSortWrapper</h4>
<pre>public&nbsp;MergeSortWrapper(<a href="../../../../../../../org/apache/drill/exec/ops/OperatorContext.html" title="interface in org.apache.drill.exec.ops">OperatorContext</a>&nbsp;opContext,
<a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a>&nbsp;destContainer)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="merge-java.util.List-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>merge</h4>
<pre>public&nbsp;void&nbsp;merge(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/InputBatch.html" title="class in org.apache.drill.exec.physical.impl.xsort">InputBatch</a>&gt;&nbsp;batchGroups,
int&nbsp;outputBatchSize)</pre>
<div class="block">Merge the set of in-memory batches to produce a single logical output in the given
destination container, indexed by an SV4.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batchGroups</code> - the complete set of in-memory batches</dd>
<dd><code>outputBatchSize</code> - output batch size for in-memory merge</dd>
</dl>
</li>
</ul>
<a name="next--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre>public&nbsp;boolean&nbsp;next()</pre>
<div class="block">The SV4 provides a built-in iterator that returns a virtual set of record
batches so that the downstream operator need not consume the entire set
of accumulated batches in a single step.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#next--">next</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#close--">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="getBatchCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchCount</h4>
<pre>public&nbsp;int&nbsp;getBatchCount()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getBatchCount--">getBatchCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="getRecordCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRecordCount</h4>
<pre>public&nbsp;int&nbsp;getRecordCount()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getRecordCount--">getRecordCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="getSv4--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSv4</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector4.html" title="class in org.apache.drill.exec.record.selection">SelectionVector4</a>&nbsp;getSv4()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getSv4--">getSv4</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="updateOutputContainer-org.apache.drill.exec.record.VectorContainer-org.apache.drill.exec.record.selection.SelectionVector4-org.apache.drill.exec.record.RecordBatch.IterOutcome-org.apache.drill.exec.record.BatchSchema-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateOutputContainer</h4>
<pre>public&nbsp;void&nbsp;updateOutputContainer(<a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a>&nbsp;container,
<a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector4.html" title="class in org.apache.drill.exec.record.selection">SelectionVector4</a>&nbsp;sv4,
<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.IterOutcome.html" title="enum in org.apache.drill.exec.record">RecordBatch.IterOutcome</a>&nbsp;outcome,
<a href="../../../../../../../org/apache/drill/exec/record/BatchSchema.html" title="class in org.apache.drill.exec.record">BatchSchema</a>&nbsp;schema)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#updateOutputContainer-org.apache.drill.exec.record.VectorContainer-org.apache.drill.exec.record.selection.SelectionVector4-org.apache.drill.exec.record.RecordBatch.IterOutcome-org.apache.drill.exec.record.BatchSchema-">updateOutputContainer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="getSv2--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSv2</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/drill/exec/record/selection/SelectionVector2.html" title="class in org.apache.drill.exec.record.selection">SelectionVector2</a>&nbsp;getSv2()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getSv2--">getSv2</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
</dl>
</li>
</ul>
<a name="getContainer--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getContainer</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/drill/exec/record/VectorContainer.html" title="class in org.apache.drill.exec.record">VectorContainer</a>&nbsp;getContainer()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getContainer--">SortImpl.SortResults</a></code></span></div>
<div class="block">Container into which results are delivered. May the
the original operator container, or may be a different
one. This is the container that should be sent
downstream. This is a fixed value for all returned
results.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html#getContainer--">getContainer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/SortImpl.SortResults.html" title="interface in org.apache.drill.exec.physical.impl.xsort">SortImpl.SortResults</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
</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/MergeSortWrapper.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/drill/exec/physical/impl/xsort/InputBatch.html" title="class in org.apache.drill.exec.physical.impl.xsort"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.State.html" title="enum in org.apache.drill.exec.physical.impl.xsort"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/physical/impl/xsort/MergeSortWrapper.html" target="_top">Frames</a></li>
<li><a href="MergeSortWrapper.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="#fields.inherited.from.class.org.apache.drill.exec.physical.impl.xsort.BaseSortWrapper">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>Field&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; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>