blob: 9185c8786f8002801bb19423627c2558d36b4217 [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>ColumnWriterIndex (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="ColumnWriterIndex (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/ColumnWriterIndex.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/vector/accessor/ColumnWriter.html" title="interface in org.apache.drill.exec.vector.accessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/drill/exec/vector/accessor/DateAccessor.html" title="class in org.apache.drill.exec.vector.accessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html" target="_top">Frames</a></li>
<li><a href="ColumnWriterIndex.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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.vector.accessor</div>
<h2 title="Interface ColumnWriterIndex" class="title">Interface ColumnWriterIndex</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../../org/apache/drill/exec/vector/accessor/writer/AbstractArrayWriter.ArrayElementWriterIndex.html" title="class in org.apache.drill.exec.vector.accessor.writer">AbstractArrayWriter.ArrayElementWriterIndex</a>, <a href="../../../../../../org/apache/drill/exec/vector/accessor/writer/NullableScalarWriter.ChildIndex.html" title="class in org.apache.drill.exec.vector.accessor.writer">NullableScalarWriter.ChildIndex</a>, <a href="../../../../../../org/apache/drill/exec/vector/accessor/writer/ScalarArrayWriter.ScalarElementWriterIndex.html" title="class in org.apache.drill.exec.vector.accessor.writer">ScalarArrayWriter.ScalarElementWriterIndex</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ColumnWriterIndex</span></pre>
<div class="block">A Drill record batch consists of a variety of vectors, including maps and lists.
Each vector is written independently. A reader may skip some values in each row
if no values appear for those columns.
<p>
This index provides a single view of the "current row" or "current array index"
across a set of vectors. Each writer consults this index to determine:
<ul>
<li>The position to which to write a value.</li>
<li>Whether the write position is beyond the "last write" position, which
would require filling in any "missing" values.</li>
</ul></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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/vector/accessor/ColumnWriterIndex.html#nextElement--">nextElement</a></span>()</code>
<div class="block">Increment the index for an array.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html" title="interface in org.apache.drill.exec.vector.accessor">ColumnWriterIndex</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html#outerIndex--">outerIndex</a></span>()</code>
<div class="block">If this index represents a repeat level, return the index of the
next higher repeat level.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html#prevElement--">prevElement</a></span>()</code>
<div class="block">Decrement the index for an array.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html#rollover--">rollover</a></span>()</code>
<div class="block">When handling overflow, the index must be reset so that the current row
starts at the start of the vector.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html#rowStartIndex--">rowStartIndex</a></span>()</code>
<div class="block">Index of the first entry for the current row</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html#vectorIndex--">vectorIndex</a></span>()</code>
<div class="block">Current row or array index.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="rowStartIndex--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowStartIndex</h4>
<pre>int&nbsp;rowStartIndex()</pre>
<div class="block">Index of the first entry for the current row</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>index of the first entry for the current row</dd>
</dl>
</li>
</ul>
<a name="vectorIndex--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vectorIndex</h4>
<pre>int&nbsp;vectorIndex()</pre>
<div class="block">Current row or array index.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>row or array index</dd>
</dl>
</li>
</ul>
<a name="nextElement--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextElement</h4>
<pre>void&nbsp;nextElement()</pre>
<div class="block">Increment the index for an array.
For arrays, writing (or saving) one value automatically
moves to the next value. Ignored for non-element indexes.</div>
</li>
</ul>
<a name="prevElement--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prevElement</h4>
<pre>void&nbsp;prevElement()</pre>
<div class="block">Decrement the index for an array. Used exclusively for
appending bytes to a VarChar, Var16Char or VarBytes
column. Assumed to be followed by another call
to nextElement().</div>
</li>
</ul>
<a name="rollover--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rollover</h4>
<pre>void&nbsp;rollover()</pre>
<div class="block">When handling overflow, the index must be reset so that the current row
starts at the start of the vector. Relative offsets must be preserved.
(That is, if the current write position for an array is four greater than
the start, then that offset must now be reset to four from the start of
the vector.)</div>
</li>
</ul>
<a name="outerIndex--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>outerIndex</h4>
<pre><a href="../../../../../../org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html" title="interface in org.apache.drill.exec.vector.accessor">ColumnWriterIndex</a>&nbsp;outerIndex()</pre>
<div class="block">If this index represents a repeat level, return the index of the
next higher repeat level.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the outer repeat level index, if any</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ColumnWriterIndex.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/vector/accessor/ColumnWriter.html" title="interface in org.apache.drill.exec.vector.accessor"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/drill/exec/vector/accessor/DateAccessor.html" title="class in org.apache.drill.exec.vector.accessor"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/drill/exec/vector/accessor/ColumnWriterIndex.html" target="_top">Frames</a></li>
<li><a href="ColumnWriterIndex.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>