blob: d7cd4ab02c7b5186166503f849cc05adcd7a6270 [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>org.apache.drill.exec.vector.accessor.reader (Drill : 1.20.0 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="org.apache.drill.exec.vector.accessor.reader (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/impl/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/vector/accessor/sql/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/vector/accessor/reader/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.drill.exec.vector.accessor.reader</h1>
<div class="docSummary">
<div class="block">Provides the reader hierarchy as explained in the API package.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.BufferAccessor.html" title="interface in org.apache.drill.exec.vector.accessor.reader">BaseScalarReader.BufferAccessor</a></td>
<td class="colLast">
<div class="block">Provide access to the DrillBuf for the data vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ElementReaderIndex.html" title="interface in org.apache.drill.exec.vector.accessor.reader">ElementReaderIndex</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReader.html" title="interface in org.apache.drill.exec.vector.accessor.reader">NullStateReader</a></td>
<td class="colLast">
<div class="block">Internal mechanism to detect if a value is null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ReaderEvents.html" title="interface in org.apache.drill.exec.vector.accessor.reader">ReaderEvents</a></td>
<td class="colLast">
<div class="block">Internal operations to wire up a set of readers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessor.html" title="interface in org.apache.drill.exec.vector.accessor.reader">VectorAccessor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractObjectReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractScalarReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractScalarReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractScalarReader.NullReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractScalarReader.NullReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractScalarReader.ScalarObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractScalarReader.ScalarObjectReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractTupleReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractTupleReader</a></td>
<td class="colLast">
<div class="block">Reader for a tuple (a row or a map.) Provides access to each
column using either a name or a numeric index.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/AbstractTupleReader.TupleObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">AbstractTupleReader.TupleObjectReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ArrayReaderImpl.html" title="class in org.apache.drill.exec.vector.accessor.reader">ArrayReaderImpl</a></td>
<td class="colLast">
<div class="block">Reader for an array-valued column.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ArrayReaderImpl.ArrayObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">ArrayReaderImpl.ArrayObjectReader</a></td>
<td class="colLast">
<div class="block">Object representation of an array reader.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ArrayReaderImpl.ElementReaderIndex.html" title="class in org.apache.drill.exec.vector.accessor.reader">ArrayReaderImpl.ElementReaderIndex</a></td>
<td class="colLast">
<div class="block">Index into the vector of elements for a repeated vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">BaseScalarReader</a></td>
<td class="colLast">
<div class="block">Column reader implementation that acts as the basis for the
generated, vector-specific implementations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.BaseFixedWidthReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">BaseScalarReader.BaseFixedWidthReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.BaseVarWidthReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">BaseScalarReader.BaseVarWidthReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/BitColumnReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">BitColumnReader</a></td>
<td class="colLast">
<div class="block">Specialized reader for bit columns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/ColumnReaderFactory.html" title="class in org.apache.drill.exec.vector.accessor.reader">ColumnReaderFactory</a></td>
<td class="colLast">
<div class="block">Gather generated reader classes into a set of class tables to allow rapid
run-time creation of readers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/DictEntryReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">DictEntryReader</a></td>
<td class="colLast">
<div class="block">Reader for a Dict entry.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/DictReaderImpl.html" title="class in org.apache.drill.exec.vector.accessor.reader">DictReaderImpl</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/DictReaderImpl.DictObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">DictReaderImpl.DictObjectReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/MapReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">MapReader</a></td>
<td class="colLast">
<div class="block">Reader for a Drill Map type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.AlwaysNullStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.AlwaysNullStateReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.ComplexMemberStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.ComplexMemberStateReader</a></td>
<td class="colLast">
<div class="block">Handle the awkward situation with complex types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.ListIsSetVectorStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.ListIsSetVectorStateReader</a></td>
<td class="colLast">
<div class="block">Holder for the NullableVector wrapper around a bits vector and a
data vector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.MemberNullStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.MemberNullStateReader</a></td>
<td class="colLast">
<div class="block">Null state that handles the strange union semantics that both
the union and the values can be null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.NullableIsSetVectorStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.NullableIsSetVectorStateReader</a></td>
<td class="colLast">
<div class="block">Holder for the NullableVector wrapper around a bits vector and a
data vector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.RequiredStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.RequiredStateReader</a></td>
<td class="colLast">
<div class="block">Dummy implementation of a null state reader for cases in which the
value is never null.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/NullStateReaders.TypeVectorStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">NullStateReaders.TypeVectorStateReader</a></td>
<td class="colLast">
<div class="block">Extract null state from the union vector's type vector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/OffsetVectorReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">OffsetVectorReader</a></td>
<td class="colLast">
<div class="block">Reader for an offset vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/UnionReaderImpl.html" title="class in org.apache.drill.exec.vector.accessor.reader">UnionReaderImpl</a></td>
<td class="colLast">
<div class="block">Reader for a union vector.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/UnionReaderImpl.UnionObjectReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">UnionReaderImpl.UnionObjectReader</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors</a></td>
<td class="colLast">
<div class="block">Collection of vector accessors.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.ArrayDataHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.ArrayDataHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for RepeatedVector &rarr; data vector</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.ArrayOffsetHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.ArrayOffsetHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for RepeatedVector &rarr; offsets vector</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.BaseHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.BaseHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor used by the column accessors to obtain the vector for
each column value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.ListBitsHyperVectorStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.ListBitsHyperVectorStateReader</a></td>
<td class="colLast">
<div class="block">Vector accessor for ListVector &rarr; bits vector</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.ListMemberHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.ListMemberHyperVectorAccessor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.MapMemberHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.MapMemberHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for AbstractMapVector &rarr; member vector</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.NullableBitsHyperVectorStateReader.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.NullableBitsHyperVectorStateReader</a></td>
<td class="colLast">
<div class="block">Vector accessor for NullableVector &rarr; bits vector</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.NullableValuesHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.NullableValuesHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for NullableVector &rarr; values vector</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.NullVectorAccesor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.NullVectorAccesor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.SingleVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.SingleVectorAccessor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.UnionMemberHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.UnionMemberHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for UnionVector &rarr; data vector</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.UnionTypeHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.UnionTypeHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for UnionVector &rarr; type vector</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../org/apache/drill/exec/vector/accessor/reader/VectorAccessors.VarWidthOffsetHyperVectorAccessor.html" title="class in org.apache.drill.exec.vector.accessor.reader">VectorAccessors.VarWidthOffsetHyperVectorAccessor</a></td>
<td class="colLast">
<div class="block">Vector accessor for VariableWidthVector &rarr; offsets vector</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.drill.exec.vector.accessor.reader Description">Package org.apache.drill.exec.vector.accessor.reader Description</h2>
<div class="block">Provides the reader hierarchy as explained in the API package.
<h4>Structure</h4>
The reader implementation divides into four parts:
<ol>
<li>The readers themselves which start with scalar readers to
decode data from vectors, then build up to nullable, array,
union and list readers. Readers are built up via composition,
often using the (internal) offset vector reader.</li>
<li>The column index abstraction that steps through items in a collection.
At the top level, the index points to the current row. The top level
may include an indirection (an SV2 or SV4) which is handled by the
column index. Within arrays, the column index points to each element
of the array.</li>
<li>The vector accessor which provides a unified interface for both
the single-batch and hyper-batch cases. The single-batch versions
simply hold onto the vector itself. The hyper-batch versions either
provide access to a specific vector within a hyper-vector (for
top-level vectors), or navigate from a top-level vector down to an
inner vector (for nested vectors.)</li>
<li>The null state abstraction which provides a uniform way to
detect nullability. For example, within the reader system, the
reader for nullable and required vectors differ only in the associated
null state reader. Unions and lists have complex null state
logic: the nullability of a value depends on the nullability
of the list, the union, and the value itself. The null state
class implements this logic independent of the reader structure.
</li>
</ul>
<h4>Composition</h4>
The result is that reader structure makes heavy use of composition:
readers are built up from each of the above components. The number of
actual reader classes is small, but the methods to build the readers are
complex. Most structure is built at build time. Indexes, however are
provided at a later "bind" time at which a bind call traverses the
reader tree to associate an index with each reader and vector accessor.
When a reader is for an array, the bind step creates the index for the
array elements.
<h4>Construction</h4>
Construction of readers is a multi-part process.
<ul>
<li>Start with a single or hyper-vector batch.</li>
<li>The reader builders in another package parse the batch structure,
create the required metadata, wrap the (single or hyper) vectors in
a vector accessor, and call methods in this package.</li>
<li>Methods here perform the final construction based on the specific
type of the reader.</li>
</ul>
<p>
The work divides into two main categories:
<ul>
<li>The work which is based on
the vector structure and single/hyper-vector structure, which is done
elsewhere.</li>
<li>The work which is based on the structure of the readers (with
vector cardinality factored out), which is done here.</li>
</ul></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/impl/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../org/apache/drill/exec/vector/accessor/sql/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/vector/accessor/reader/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>