blob: c9f69748b94d9ecbe6a2806b0c850fd3aaa77883 [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>ValueVector (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="ValueVector (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":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/ValueVector.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/ValueHolderHelper.html" title="class in org.apache.drill.exec.vector"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/vector/ValueVector.html" target="_top">Frames</a></li>
<li><a href="ValueVector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>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</div>
<h2 title="Interface ValueVector" class="title">Interface ValueVector</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/drill/exec/vector/FixedWidthVector.html" title="interface in org.apache.drill.exec.vector">FixedWidthVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableVector.html" title="interface in org.apache.drill.exec.vector">NullableVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/RepeatedValueVector.html" title="interface in org.apache.drill.exec.vector.complex">RepeatedValueVector</a>, <a href="../../../../../org/apache/drill/exec/vector/VariableWidthVector.html" title="interface in org.apache.drill.exec.vector">VariableWidthVector</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/drill/exec/vector/complex/AbstractContainerVector.html" title="class in org.apache.drill.exec.vector.complex">AbstractContainerVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/AbstractMapVector.html" title="class in org.apache.drill.exec.vector.complex">AbstractMapVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/AbstractRepeatedMapVector.html" title="class in org.apache.drill.exec.vector.complex">AbstractRepeatedMapVector</a>, <a href="../../../../../org/apache/drill/exec/vector/BaseDataValueVector.html" title="class in org.apache.drill.exec.vector">BaseDataValueVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/BaseRepeatedValueVector.html" title="class in org.apache.drill.exec.vector.complex">BaseRepeatedValueVector</a>, <a href="../../../../../org/apache/drill/exec/vector/BaseValueVector.html" title="class in org.apache.drill.exec.vector">BaseValueVector</a>, <a href="../../../../../org/apache/drill/exec/vector/BigIntVector.html" title="class in org.apache.drill.exec.vector">BigIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/BitVector.html" title="class in org.apache.drill.exec.vector">BitVector</a>, <a href="../../../../../org/apache/drill/exec/vector/DateVector.html" title="class in org.apache.drill.exec.vector">DateVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal18Vector.html" title="class in org.apache.drill.exec.vector">Decimal18Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal28DenseVector.html" title="class in org.apache.drill.exec.vector">Decimal28DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal28SparseVector.html" title="class in org.apache.drill.exec.vector">Decimal28SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal38DenseVector.html" title="class in org.apache.drill.exec.vector">Decimal38DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal38SparseVector.html" title="class in org.apache.drill.exec.vector">Decimal38SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Decimal9Vector.html" title="class in org.apache.drill.exec.vector">Decimal9Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/DictVector.html" title="class in org.apache.drill.exec.vector.complex">DictVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Float4Vector.html" title="class in org.apache.drill.exec.vector">Float4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/Float8Vector.html" title="class in org.apache.drill.exec.vector">Float8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/IntervalDayVector.html" title="class in org.apache.drill.exec.vector">IntervalDayVector</a>, <a href="../../../../../org/apache/drill/exec/vector/IntervalVector.html" title="class in org.apache.drill.exec.vector">IntervalVector</a>, <a href="../../../../../org/apache/drill/exec/vector/IntervalYearVector.html" title="class in org.apache.drill.exec.vector">IntervalYearVector</a>, <a href="../../../../../org/apache/drill/exec/vector/IntVector.html" title="class in org.apache.drill.exec.vector">IntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/ListVector.html" title="class in org.apache.drill.exec.vector.complex">ListVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/MapVector.html" title="class in org.apache.drill.exec.vector.complex">MapVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableBigIntVector.html" title="class in org.apache.drill.exec.vector">NullableBigIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableBitVector.html" title="class in org.apache.drill.exec.vector">NullableBitVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDateVector.html" title="class in org.apache.drill.exec.vector">NullableDateVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal18Vector.html" title="class in org.apache.drill.exec.vector">NullableDecimal18Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal28DenseVector.html" title="class in org.apache.drill.exec.vector">NullableDecimal28DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal28SparseVector.html" title="class in org.apache.drill.exec.vector">NullableDecimal28SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal38DenseVector.html" title="class in org.apache.drill.exec.vector">NullableDecimal38DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal38SparseVector.html" title="class in org.apache.drill.exec.vector">NullableDecimal38SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableDecimal9Vector.html" title="class in org.apache.drill.exec.vector">NullableDecimal9Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableFloat4Vector.html" title="class in org.apache.drill.exec.vector">NullableFloat4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableFloat8Vector.html" title="class in org.apache.drill.exec.vector">NullableFloat8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableIntervalDayVector.html" title="class in org.apache.drill.exec.vector">NullableIntervalDayVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableIntervalVector.html" title="class in org.apache.drill.exec.vector">NullableIntervalVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableIntervalYearVector.html" title="class in org.apache.drill.exec.vector">NullableIntervalYearVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableIntVector.html" title="class in org.apache.drill.exec.vector">NullableIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableSmallIntVector.html" title="class in org.apache.drill.exec.vector">NullableSmallIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableTimeStampVector.html" title="class in org.apache.drill.exec.vector">NullableTimeStampVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableTimeVector.html" title="class in org.apache.drill.exec.vector">NullableTimeVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableTinyIntVector.html" title="class in org.apache.drill.exec.vector">NullableTinyIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableUInt1Vector.html" title="class in org.apache.drill.exec.vector">NullableUInt1Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableUInt2Vector.html" title="class in org.apache.drill.exec.vector">NullableUInt2Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableUInt4Vector.html" title="class in org.apache.drill.exec.vector">NullableUInt4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableUInt8Vector.html" title="class in org.apache.drill.exec.vector">NullableUInt8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableVar16CharVector.html" title="class in org.apache.drill.exec.vector">NullableVar16CharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableVarBinaryVector.html" title="class in org.apache.drill.exec.vector">NullableVarBinaryVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableVarCharVector.html" title="class in org.apache.drill.exec.vector">NullableVarCharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/NullableVarDecimalVector.html" title="class in org.apache.drill.exec.vector">NullableVarDecimalVector</a>, <a href="../../../../../org/apache/drill/exec/vector/ObjectVector.html" title="class in org.apache.drill.exec.vector">ObjectVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedBigIntVector.html" title="class in org.apache.drill.exec.vector">RepeatedBigIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedBitVector.html" title="class in org.apache.drill.exec.vector">RepeatedBitVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDateVector.html" title="class in org.apache.drill.exec.vector">RepeatedDateVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal18Vector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal18Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal28DenseVector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal28DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal28SparseVector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal28SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal38DenseVector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal38DenseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal38SparseVector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal38SparseVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedDecimal9Vector.html" title="class in org.apache.drill.exec.vector">RepeatedDecimal9Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/RepeatedDictVector.html" title="class in org.apache.drill.exec.vector.complex">RepeatedDictVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedFloat4Vector.html" title="class in org.apache.drill.exec.vector">RepeatedFloat4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedFloat8Vector.html" title="class in org.apache.drill.exec.vector">RepeatedFloat8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedIntervalDayVector.html" title="class in org.apache.drill.exec.vector">RepeatedIntervalDayVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedIntervalVector.html" title="class in org.apache.drill.exec.vector">RepeatedIntervalVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedIntervalYearVector.html" title="class in org.apache.drill.exec.vector">RepeatedIntervalYearVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedIntVector.html" title="class in org.apache.drill.exec.vector">RepeatedIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/RepeatedListVector.html" title="class in org.apache.drill.exec.vector.complex">RepeatedListVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/RepeatedListVector.DelegateRepeatedVector.html" title="class in org.apache.drill.exec.vector.complex">RepeatedListVector.DelegateRepeatedVector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/RepeatedMapVector.html" title="class in org.apache.drill.exec.vector.complex">RepeatedMapVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedSmallIntVector.html" title="class in org.apache.drill.exec.vector">RepeatedSmallIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedTimeStampVector.html" title="class in org.apache.drill.exec.vector">RepeatedTimeStampVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedTimeVector.html" title="class in org.apache.drill.exec.vector">RepeatedTimeVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedTinyIntVector.html" title="class in org.apache.drill.exec.vector">RepeatedTinyIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedUInt1Vector.html" title="class in org.apache.drill.exec.vector">RepeatedUInt1Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedUInt2Vector.html" title="class in org.apache.drill.exec.vector">RepeatedUInt2Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedUInt4Vector.html" title="class in org.apache.drill.exec.vector">RepeatedUInt4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedUInt8Vector.html" title="class in org.apache.drill.exec.vector">RepeatedUInt8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedVar16CharVector.html" title="class in org.apache.drill.exec.vector">RepeatedVar16CharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedVarBinaryVector.html" title="class in org.apache.drill.exec.vector">RepeatedVarBinaryVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedVarCharVector.html" title="class in org.apache.drill.exec.vector">RepeatedVarCharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/RepeatedVarDecimalVector.html" title="class in org.apache.drill.exec.vector">RepeatedVarDecimalVector</a>, <a href="../../../../../org/apache/drill/exec/vector/SmallIntVector.html" title="class in org.apache.drill.exec.vector">SmallIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/TimeStampVector.html" title="class in org.apache.drill.exec.vector">TimeStampVector</a>, <a href="../../../../../org/apache/drill/exec/vector/TimeVector.html" title="class in org.apache.drill.exec.vector">TimeVector</a>, <a href="../../../../../org/apache/drill/exec/vector/TinyIntVector.html" title="class in org.apache.drill.exec.vector">TinyIntVector</a>, <a href="../../../../../org/apache/drill/exec/vector/UInt1Vector.html" title="class in org.apache.drill.exec.vector">UInt1Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/UInt2Vector.html" title="class in org.apache.drill.exec.vector">UInt2Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/UInt4Vector.html" title="class in org.apache.drill.exec.vector">UInt4Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/UInt8Vector.html" title="class in org.apache.drill.exec.vector">UInt8Vector</a>, <a href="../../../../../org/apache/drill/exec/vector/complex/UnionVector.html" title="class in org.apache.drill.exec.vector.complex">UnionVector</a>, <a href="../../../../../org/apache/drill/exec/vector/UntypedNullVector.html" title="class in org.apache.drill.exec.vector">UntypedNullVector</a>, <a href="../../../../../org/apache/drill/exec/vector/Var16CharVector.html" title="class in org.apache.drill.exec.vector">Var16CharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/VarBinaryVector.html" title="class in org.apache.drill.exec.vector">VarBinaryVector</a>, <a href="../../../../../org/apache/drill/exec/vector/VarCharVector.html" title="class in org.apache.drill.exec.vector">VarCharVector</a>, <a href="../../../../../org/apache/drill/exec/vector/VarDecimalVector.html" title="class in org.apache.drill.exec.vector">VarDecimalVector</a>, <a href="../../../../../org/apache/drill/exec/record/VectorAccessibleComplexWriter.html" title="class in org.apache.drill.exec.record">VectorAccessibleComplexWriter</a>, <a href="../../../../../org/apache/drill/exec/vector/ZeroVector.html" title="class in org.apache.drill.exec.vector">ZeroVector</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ValueVector</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a>&lt;<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&gt;</pre>
<div class="block">An abstraction that is used to store a sequence of values in an individual
column.
A <a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector"><code>value vector</code></a> stores underlying data in-memory in a
columnar fashion that is compact and efficient. The column whose data is
stored, is referred by <a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getField--"><code>getField()</code></a>.
A vector when instantiated, relies on a
<a href="../../../../../org/apache/drill/exec/record/DeadBuf.html" title="class in org.apache.drill.exec.record"><code>dead buffer</code></a>. It is important
that vector is allocated before attempting to read or write.
There are a few "rules" around vectors:
<ul>
<li>Values need to be written in order (e.g. index 0, 1, 2, 5).</li>
<li>Null vectors start with all values as null before writing anything.</li>
<li>For variable width types, the offset vector should be all zeros before
writing.</li>
<li>You must call setValueCount before a vector can be read.</li>
<li>You should never write to a vector once it has been read.</li>
<li>Vectors may not grow larger than the number of bytes specified in
<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#MAX_BUFFER_SIZE"><code>MAX_BUFFER_SIZE</code></a> to prevent memory fragmentation. Use the
<tt>setBounded()</tt> methods in the mutator to enforce this rule.</li>
</ul>
Please note that the current implementation doesn't enforce those rules,
hence we may find few places that deviate from these rules (e.g. offset
vectors in Variable Length and Repeated vector)
This interface "should" strive to guarantee this order of operation:
<blockquote>
allocate > mutate > setvaluecount > access > clear (or allocate
to start the process over).
</blockquote></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">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector">ValueVector.Accessor</a></span></code>
<div class="block">Reads from this vector instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Mutator.html" title="interface in org.apache.drill.exec.vector">ValueVector.Mutator</a></span></code>
<div class="block">Writes into this vector instance.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#BITS_VECTOR_NAME">BITS_VECTOR_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#MAX_BUFFER_SIZE">MAX_BUFFER_SIZE</a></span></code>
<div class="block">Maximum allowed size of the buffer backing a value vector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#MAX_ROW_COUNT">MAX_ROW_COUNT</a></span></code>
<div class="block">Maximum allowed row count in a vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#MIN_ROW_COUNT">MIN_ROW_COUNT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#OFFSETS_VECTOR_NAME">OFFSETS_VECTOR_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#VALUES_VECTOR_NAME">VALUES_VECTOR_NAME</a></span></code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="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/ValueVector.html#allocateNew--">allocateNew</a></span>()</code>
<div class="block">Allocate new buffers.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#allocateNewSafe--">allocateNewSafe</a></span>()</code>
<div class="block">Allocates new buffers.</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/ValueVector.html#clear--">clear</a></span>()</code>
<div class="block">Release the underlying DrillBuf and reset the ValueVector to empty.</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/ValueVector.html#close--">close</a></span>()</code>
<div class="block">Alternative to clear().</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#collectLedgers-java.util.Set-">collectLedgers</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/drill/exec/memory/AllocationManager.BufferLedger.html" title="class in org.apache.drill.exec.memory">AllocationManager.BufferLedger</a>&gt;&nbsp;ledgers)</code>
<div class="block">Add the ledgers underlying the buffers underlying the components of the
vector to the set provided.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#copyEntry-int-org.apache.drill.exec.vector.ValueVector-int-">copyEntry</a></span>(int&nbsp;toIndex,
<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;from,
int&nbsp;fromIndex)</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/vector/ValueVector.html#exchange-org.apache.drill.exec.vector.ValueVector-">exchange</a></span>(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;other)</code>
<div class="block">Exchange state with another value vector of the same type.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector">ValueVector.Accessor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getAccessor--">getAccessor</a></span>()</code>
<div class="block">Returns an <a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector"><code>accessor</code></a> that is used to read from this vector
instance.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getAllocatedSize--">getAllocatedSize</a></span>()</code>
<div class="block">Returns the total size of buffers allocated by this vector.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getAllocator--">getAllocator</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../io/netty/buffer/DrillBuf.html" title="class in io.netty.buffer">DrillBuf</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getBuffers-boolean-">getBuffers</a></span>(boolean&nbsp;clear)</code>
<div class="block">Return the underlying buffers associated with this vector.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getBufferSize--">getBufferSize</a></span>()</code>
<div class="block">Returns the number of bytes that is used by this vector instance.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getBufferSizeFor-int-">getBufferSizeFor</a></span>(int&nbsp;valueCount)</code>
<div class="block">Returns the number of bytes that is used by this vector if it holds the given number
of values.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/record/MaterializedField.html" title="class in org.apache.drill.exec.record">MaterializedField</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getField--">getField</a></span>()</code>
<div class="block">Get information about how this field is materialized.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/proto/UserBitShared.SerializedField.html" title="class in org.apache.drill.exec.proto">UserBitShared.SerializedField</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getMetadata--">getMetadata</a></span>()</code>
<div class="block">Get the metadata for this field.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Mutator.html" title="interface in org.apache.drill.exec.vector">ValueVector.Mutator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getMutator--">getMutator</a></span>()</code>
<div class="block">Returns an <a href="../../../../../org/apache/drill/exec/vector/ValueVector.Mutator.html" title="interface in org.apache.drill.exec.vector"><code>mutator</code></a> that is used to write to this vector
instance.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getPayloadByteCount-int-">getPayloadByteCount</a></span>(int&nbsp;valueCount)</code>
<div class="block">Return the number of value bytes consumed by actual data.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/vector/complex/reader/FieldReader.html" title="interface in org.apache.drill.exec.vector.complex.reader">FieldReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getReader--">getReader</a></span>()</code>
<div class="block">Returns a <a href="../../../../../org/apache/drill/exec/vector/complex/reader/FieldReader.html" title="interface in org.apache.drill.exec.vector.complex.reader"><code>field reader</code></a> that supports reading values
from this vector.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getTransferPair-org.apache.drill.exec.memory.BufferAllocator-">getTransferPair</a></span>(<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</code>
<div class="block">Returns a <a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record"><code>transfer pair</code></a>, creating a new target vector of
the same type.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getTransferPair-java.lang.String-org.apache.drill.exec.memory.BufferAllocator-">getTransferPair</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ref,
<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#getValueCapacity--">getValueCapacity</a></span>()</code>
<div class="block">Returns the maximum number of values that can be stored in this vector instance.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#load-org.apache.drill.exec.proto.UserBitShared.SerializedField-io.netty.buffer.DrillBuf-">load</a></span>(<a href="../../../../../org/apache/drill/exec/proto/UserBitShared.SerializedField.html" title="class in org.apache.drill.exec.proto">UserBitShared.SerializedField</a>&nbsp;metadata,
<a href="../../../../../io/netty/buffer/DrillBuf.html" title="class in io.netty.buffer">DrillBuf</a>&nbsp;buffer)</code>
<div class="block">Load the data provided in the buffer.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#makeTransferPair-org.apache.drill.exec.vector.ValueVector-">makeTransferPair</a></span>(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;target)</code>
<div class="block">Returns a new <a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record"><code>transfer pair</code></a> that is used to transfer underlying
buffers into the target vector.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#setInitialCapacity-int-">setInitialCapacity</a></span>(int&nbsp;numRecords)</code>
<div class="block">Set the initial record capacity</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/vector/ValueVector.html#toNullable-org.apache.drill.exec.vector.ValueVector-">toNullable</a></span>(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;nullableVector)</code>
<div class="block">Convert a non-nullable vector to nullable by shuffling the data from
one to the other.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Iterable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang">Iterable</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach-java.util.function.Consumer-" title="class or interface in java.lang">forEach</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator--" title="class or interface in java.lang">iterator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#spliterator--" title="class or interface in java.lang">spliterator</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="MAX_BUFFER_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_BUFFER_SIZE</h4>
<pre>static final&nbsp;int MAX_BUFFER_SIZE</pre>
<div class="block">Maximum allowed size of the buffer backing a value vector.
Set to the Netty chunk size to prevent memory fragmentation.</div>
</li>
</ul>
<a name="MAX_ROW_COUNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_ROW_COUNT</h4>
<pre>static final&nbsp;int MAX_ROW_COUNT</pre>
<div class="block">Maximum allowed row count in a vector. Repeated vectors
may have more items, but can have no more than this number
or arrays. Limited by 2-byte length in SV2: 65536 = 2<sup>16</sup>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.vector.ValueVector.MAX_ROW_COUNT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MIN_ROW_COUNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MIN_ROW_COUNT</h4>
<pre>static final&nbsp;int MIN_ROW_COUNT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.vector.ValueVector.MIN_ROW_COUNT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="BITS_VECTOR_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BITS_VECTOR_NAME</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> BITS_VECTOR_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.vector.ValueVector.BITS_VECTOR_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="OFFSETS_VECTOR_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OFFSETS_VECTOR_NAME</h4>
<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OFFSETS_VECTOR_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.vector.ValueVector.OFFSETS_VECTOR_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="VALUES_VECTOR_NAME">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>VALUES_VECTOR_NAME</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> VALUES_VECTOR_NAME</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.drill.exec.vector.ValueVector.VALUES_VECTOR_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="allocateNew--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateNew</h4>
<pre>void&nbsp;allocateNew()
throws <a href="../../../../../org/apache/drill/exec/exception/OutOfMemoryException.html" title="class in org.apache.drill.exec.exception">OutOfMemoryException</a></pre>
<div class="block">Allocate new buffers. ValueVector implements logic to determine how much to allocate.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/exception/OutOfMemoryException.html" title="class in org.apache.drill.exec.exception">OutOfMemoryException</a></code> - Thrown if no memory can be allocated.</dd>
</dl>
</li>
</ul>
<a name="allocateNewSafe--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateNewSafe</h4>
<pre>boolean&nbsp;allocateNewSafe()</pre>
<div class="block">Allocates new buffers. ValueVector implements logic to determine how much to allocate.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns true if allocation was successful.</dd>
</dl>
</li>
</ul>
<a name="getAllocator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllocator</h4>
<pre><a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;getAllocator()</pre>
</li>
</ul>
<a name="setInitialCapacity-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInitialCapacity</h4>
<pre>void&nbsp;setInitialCapacity(int&nbsp;numRecords)</pre>
<div class="block">Set the initial record capacity</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>numRecords</code> - </dd>
</dl>
</li>
</ul>
<a name="getValueCapacity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueCapacity</h4>
<pre>int&nbsp;getValueCapacity()</pre>
<div class="block">Returns the maximum number of values that can be stored in this vector instance.</div>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()</pre>
<div class="block">Alternative to clear(). Allows use as an AutoCloseable in try-with-resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true#close--" title="class or interface in java.io">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></code></dd>
</dl>
</li>
</ul>
<a name="clear--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>void&nbsp;clear()</pre>
<div class="block">Release the underlying DrillBuf and reset the ValueVector to empty.</div>
</li>
</ul>
<a name="getField--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getField</h4>
<pre><a href="../../../../../org/apache/drill/exec/record/MaterializedField.html" title="class in org.apache.drill.exec.record">MaterializedField</a>&nbsp;getField()</pre>
<div class="block">Get information about how this field is materialized.</div>
</li>
</ul>
<a name="getTransferPair-org.apache.drill.exec.memory.BufferAllocator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferPair</h4>
<pre><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a>&nbsp;getTransferPair(<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</pre>
<div class="block">Returns a <a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record"><code>transfer pair</code></a>, creating a new target vector of
the same type.</div>
</li>
</ul>
<a name="getTransferPair-java.lang.String-org.apache.drill.exec.memory.BufferAllocator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferPair</h4>
<pre><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a>&nbsp;getTransferPair(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;ref,
<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</pre>
</li>
</ul>
<a name="makeTransferPair-org.apache.drill.exec.vector.ValueVector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeTransferPair</h4>
<pre><a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record">TransferPair</a>&nbsp;makeTransferPair(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;target)</pre>
<div class="block">Returns a new <a href="../../../../../org/apache/drill/exec/record/TransferPair.html" title="interface in org.apache.drill.exec.record"><code>transfer pair</code></a> that is used to transfer underlying
buffers into the target vector.</div>
</li>
</ul>
<a name="getAccessor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAccessor</h4>
<pre><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector">ValueVector.Accessor</a>&nbsp;getAccessor()</pre>
<div class="block">Returns an <a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector"><code>accessor</code></a> that is used to read from this vector
instance.</div>
</li>
</ul>
<a name="getMutator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMutator</h4>
<pre><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Mutator.html" title="interface in org.apache.drill.exec.vector">ValueVector.Mutator</a>&nbsp;getMutator()</pre>
<div class="block">Returns an <a href="../../../../../org/apache/drill/exec/vector/ValueVector.Mutator.html" title="interface in org.apache.drill.exec.vector"><code>mutator</code></a> that is used to write to this vector
instance.</div>
</li>
</ul>
<a name="getReader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReader</h4>
<pre><a href="../../../../../org/apache/drill/exec/vector/complex/reader/FieldReader.html" title="interface in org.apache.drill.exec.vector.complex.reader">FieldReader</a>&nbsp;getReader()</pre>
<div class="block">Returns a <a href="../../../../../org/apache/drill/exec/vector/complex/reader/FieldReader.html" title="interface in org.apache.drill.exec.vector.complex.reader"><code>field reader</code></a> that supports reading values
from this vector.</div>
</li>
</ul>
<a name="getMetadata--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMetadata</h4>
<pre><a href="../../../../../org/apache/drill/exec/proto/UserBitShared.SerializedField.html" title="class in org.apache.drill.exec.proto">UserBitShared.SerializedField</a>&nbsp;getMetadata()</pre>
<div class="block">Get the metadata for this field. Used in serialization</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>FieldMetadata for this field.</dd>
</dl>
</li>
</ul>
<a name="getBufferSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferSize</h4>
<pre>int&nbsp;getBufferSize()</pre>
<div class="block">Returns the number of bytes that is used by this vector instance.
This is a bit of a misnomer. Returns the number of bytes used by
data in this instance.</div>
</li>
</ul>
<a name="getAllocatedSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllocatedSize</h4>
<pre>int&nbsp;getAllocatedSize()</pre>
<div class="block">Returns the total size of buffers allocated by this vector. Has
meaning only when vectors are directly allocated and each vector
has its own buffer. Does not have meaning for vectors deserialized
from the network or disk in which multiple vectors share the
same vector.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>allocated buffer size, in bytes</dd>
</dl>
</li>
</ul>
<a name="getBufferSizeFor-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferSizeFor</h4>
<pre>int&nbsp;getBufferSizeFor(int&nbsp;valueCount)</pre>
<div class="block">Returns the number of bytes that is used by this vector if it holds the given number
of values. The result will be the same as if Mutator.setValueCount() were called, followed
by calling getBufferSize(), but without any of the closing side-effects that setValueCount()
implies wrt finishing off the population of a vector. Some operations might wish to use
this to determine how much memory has been used by a vector so far, even though it is
not finished being populated.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>valueCount</code> - the number of values to assume this vector contains</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the buffer size if this vector is holding valueCount values</dd>
</dl>
</li>
</ul>
<a name="getBuffers-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBuffers</h4>
<pre><a href="../../../../../io/netty/buffer/DrillBuf.html" title="class in io.netty.buffer">DrillBuf</a>[]&nbsp;getBuffers(boolean&nbsp;clear)</pre>
<div class="block">Return the underlying buffers associated with this vector. Note that this doesn't impact the reference counts for
this buffer so it only should be used for in-context access. Also note that this buffer changes regularly thus
external classes shouldn't hold a reference to it (unless they change it).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clear</code> - Whether to clear vector before returning; the buffers will still be refcounted;
but the returned array will be the only reference to them</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The underlying <a href="../../../../../io/netty/buffer/DrillBuf.html" title="class in io.netty.buffer"><code>buffers</code></a> that is used by this vector instance.</dd>
</dl>
</li>
</ul>
<a name="load-org.apache.drill.exec.proto.UserBitShared.SerializedField-io.netty.buffer.DrillBuf-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>void&nbsp;load(<a href="../../../../../org/apache/drill/exec/proto/UserBitShared.SerializedField.html" title="class in org.apache.drill.exec.proto">UserBitShared.SerializedField</a>&nbsp;metadata,
<a href="../../../../../io/netty/buffer/DrillBuf.html" title="class in io.netty.buffer">DrillBuf</a>&nbsp;buffer)</pre>
<div class="block">Load the data provided in the buffer. Typically used when deserializing from the wire.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadata</code> - Metadata used to decode the incoming buffer.</dd>
<dd><code>buffer</code> - The buffer that contains the ValueVector.</dd>
</dl>
</li>
</ul>
<a name="copyEntry-int-org.apache.drill.exec.vector.ValueVector-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyEntry</h4>
<pre>void&nbsp;copyEntry(int&nbsp;toIndex,
<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;from,
int&nbsp;fromIndex)</pre>
</li>
</ul>
<a name="collectLedgers-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectLedgers</h4>
<pre>void&nbsp;collectLedgers(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../org/apache/drill/exec/memory/AllocationManager.BufferLedger.html" title="class in org.apache.drill.exec.memory">AllocationManager.BufferLedger</a>&gt;&nbsp;ledgers)</pre>
<div class="block">Add the ledgers underlying the buffers underlying the components of the
vector to the set provided. Used to determine actual memory allocation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ledgers</code> - set of ledgers to which to add ledgers for this vector</dd>
</dl>
</li>
</ul>
<a name="getPayloadByteCount-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPayloadByteCount</h4>
<pre>int&nbsp;getPayloadByteCount(int&nbsp;valueCount)</pre>
<div class="block">Return the number of value bytes consumed by actual data.</div>
</li>
</ul>
<a name="exchange-org.apache.drill.exec.vector.ValueVector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exchange</h4>
<pre>void&nbsp;exchange(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;other)</pre>
<div class="block">Exchange state with another value vector of the same type.
Used to implement look-ahead writers.</div>
</li>
</ul>
<a name="toNullable-org.apache.drill.exec.vector.ValueVector-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toNullable</h4>
<pre>void&nbsp;toNullable(<a href="../../../../../org/apache/drill/exec/vector/ValueVector.html" title="interface in org.apache.drill.exec.vector">ValueVector</a>&nbsp;nullableVector)</pre>
<div class="block">Convert a non-nullable vector to nullable by shuffling the data from
one to the other. Avoids the need to generate copy code just to change
mode. If this vector is non-nullable, accepts a nullable dual (same
minor type, different mode.) If the vector is non-nullable, or non-scalar,
then throws an exception.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nullableVector</code> - nullable vector of the same minor type as
this vector</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/ValueVector.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/ValueHolderHelper.html" title="class in org.apache.drill.exec.vector"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/vector/ValueVector.Accessor.html" title="interface in org.apache.drill.exec.vector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/vector/ValueVector.html" target="_top">Frames</a></li>
<li><a href="ValueVector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>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>