<!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 (1.8.0_102) on Wed Oct 19 15:34:02 PDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BytesColumnVector (Hive Storage API 2.1.1-pre-orc API)</title>
<meta name="date" content="2016-10-19">
<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="BytesColumnVector (Hive Storage API 2.1.1-pre-orc API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BytesColumnVector.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html" target="_top">Frames</a></li>
<li><a href="BytesColumnVector.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.classes.inherited.from.class.org.apache.hadoop.hive.ql.exec.vector.ColumnVector">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.hive.ql.exec.vector</div>
<h2 title="Class BytesColumnVector" class="title">Class BytesColumnVector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">org.apache.hadoop.hive.ql.exec.vector.ColumnVector</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">BytesColumnVector</span>
extends <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></pre>
<div class="block">This class supports string and binary data by value reference -- i.e. each field is
 explicitly present, as opposed to provided by a dictionary reference.
 In some cases, all the values will be in the same byte array to begin with,
 but this need not be the case. If each value is in a separate byte
 array to start with, or not all of the values are in the same original
 byte array, you can still assign data by reference into this column vector.
 This gives flexibility to use this in multiple situations.
 <p>
 When setting data by reference, the caller
 is responsible for allocating the byte arrays used to hold the data.
 You can also set data by value, as long as you call the initBuffer() method first.
 You can mix "by value" and "by reference" in the same column vector,
 though that use is probably not typical.</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>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.hadoop.hive.ql.exec.vector.ColumnVector">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hive.ql.exec.vector.<a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></h3>
<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.Type.html" title="enum in org.apache.hadoop.hive.ql.exec.vector">ColumnVector.Type</a></code></li>
</ul>
</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>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#length">length</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#start">start</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#vector">vector</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hive.ql.exec.vector.ColumnVector">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hive.ql.exec.vector.<a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></h3>
<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#isNull">isNull</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#isRepeating">isRepeating</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#noNulls">noNulls</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#BytesColumnVector--">BytesColumnVector</a></span>()</code>
<div class="block">Use this constructor for normal operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#BytesColumnVector-int-">BytesColumnVector</a></span>(int&nbsp;size)</code>
<div class="block">Don't call this constructor except for testing purposes.</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#bufferSize--">bufferSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#copySelected-boolean-int:A-int-org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector-">copySelected</a></span>(boolean&nbsp;selectedInUse,
            int[]&nbsp;sel,
            int&nbsp;size,
            <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">BytesColumnVector</a>&nbsp;output)</code>
<div class="block">Copy the current object contents into the output.</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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#ensureSize-int-boolean-">ensureSize</a></span>(int&nbsp;size,
          boolean&nbsp;preserveData)</code>
<div class="block">Ensure the ColumnVector can hold at least size values.</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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#fill-byte:A-">fill</a></span>(byte[]&nbsp;value)</code>&nbsp;</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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#fillWithNulls--">fillWithNulls</a></span>()</code>&nbsp;</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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#flatten-boolean-int:A-int-">flatten</a></span>(boolean&nbsp;selectedInUse,
       int[]&nbsp;sel,
       int&nbsp;size)</code>
<div class="block">Simplify vector by brute-force flattening noNulls and isRepeating
 This can be used to reduce combinatorial explosion of code paths in VectorExpressions
 with many arguments, at the expense of loss of some performance.</div>
</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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#increaseBufferSpace-int-">increaseBufferSpace</a></span>(int&nbsp;nextElemLength)</code>
<div class="block">Increase buffer space enough to accommodate next element.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#init--">init</a></span>()</code>
<div class="block">Initialize the column vector.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#initBuffer--">initBuffer</a></span>()</code>
<div class="block">Initialize buffer to default size.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#initBuffer-int-">initBuffer</a></span>(int&nbsp;estimatedValueSize)</code>
<div class="block">You must call initBuffer first before using setVal().</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#reset--">reset</a></span>()</code>
<div class="block">Additional reset work for BytesColumnVector (releasing scratch bytes for by value strings).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#setConcat-int-byte:A-int-int-byte:A-int-int-">setConcat</a></span>(int&nbsp;elementNum,
         byte[]&nbsp;leftSourceBuf,
         int&nbsp;leftStart,
         int&nbsp;leftLen,
         byte[]&nbsp;rightSourceBuf,
         int&nbsp;rightStart,
         int&nbsp;rightLen)</code>
<div class="block">Set a field to the concatenation of two string values.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#setElement-int-int-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-">setElement</a></span>(int&nbsp;outElementNum,
          int&nbsp;inputElementNum,
          <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a>&nbsp;inputVector)</code>
<div class="block">Set the element in this column vector from the given input vector.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#setRef-int-byte:A-int-int-">setRef</a></span>(int&nbsp;elementNum,
      byte[]&nbsp;sourceBuf,
      int&nbsp;start,
      int&nbsp;length)</code>
<div class="block">Set a field by reference.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#setVal-int-byte:A-">setVal</a></span>(int&nbsp;elementNum,
      byte[]&nbsp;sourceBuf)</code>
<div class="block">Set a field by actually copying in to a local buffer.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#setVal-int-byte:A-int-int-">setVal</a></span>(int&nbsp;elementNum,
      byte[]&nbsp;sourceBuf,
      int&nbsp;start,
      int&nbsp;length)</code>
<div class="block">Set a field by actually copying in to a local buffer.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html#stringifyValue-java.lang.StringBuilder-int-">stringifyValue</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buffer,
              int&nbsp;row)</code>
<div class="block">Print the value for this column into the given string builder.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/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/hadoop/hive/ql/exec/vector/BytesColumnVector.html#toString-int-">toString</a></span>(int&nbsp;row)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.ql.exec.vector.ColumnVector">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hive.ql.exec.vector.<a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></h3>
<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#flattenNoNulls-boolean-int:A-int-">flattenNoNulls</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#flattenPush--">flattenPush</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#flattenRepeatingNulls-boolean-int:A-int-">flattenRepeatingNulls</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#setRepeating-boolean-">setRepeating</a>, <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#unFlatten--">unFlatten</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="vector">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>vector</h4>
<pre>public&nbsp;byte[][] vector</pre>
</li>
</ul>
<a name="start">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;int[] start</pre>
</li>
</ul>
<a name="length">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>length</h4>
<pre>public&nbsp;int[] length</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="BytesColumnVector--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BytesColumnVector</h4>
<pre>public&nbsp;BytesColumnVector()</pre>
<div class="block">Use this constructor for normal operation.
 All column vectors should be the default size normally.</div>
</li>
</ul>
<a name="BytesColumnVector-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BytesColumnVector</h4>
<pre>public&nbsp;BytesColumnVector(int&nbsp;size)</pre>
<div class="block">Don't call this constructor except for testing purposes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - number of elements in the column vector</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="reset--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Additional reset work for BytesColumnVector (releasing scratch bytes for by value strings).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
</dl>
</li>
</ul>
<a name="setRef-int-byte:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRef</h4>
<pre>public&nbsp;void&nbsp;setRef(int&nbsp;elementNum,
                   byte[]&nbsp;sourceBuf,
                   int&nbsp;start,
                   int&nbsp;length)</pre>
<div class="block">Set a field by reference.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementNum</code> - index within column vector to set</dd>
<dd><code>sourceBuf</code> - container of source data</dd>
<dd><code>start</code> - start byte position within source</dd>
<dd><code>length</code> - length of source byte sequence</dd>
</dl>
</li>
</ul>
<a name="initBuffer-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initBuffer</h4>
<pre>public&nbsp;void&nbsp;initBuffer(int&nbsp;estimatedValueSize)</pre>
<div class="block">You must call initBuffer first before using setVal().
 Provide the estimated number of bytes needed to hold
 a full column vector worth of byte string data.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>estimatedValueSize</code> - Estimated size of buffer space needed</dd>
</dl>
</li>
</ul>
<a name="initBuffer--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initBuffer</h4>
<pre>public&nbsp;void&nbsp;initBuffer()</pre>
<div class="block">Initialize buffer to default size.</div>
</li>
</ul>
<a name="bufferSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bufferSize</h4>
<pre>public&nbsp;int&nbsp;bufferSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>amount of buffer space currently allocated</dd>
</dl>
</li>
</ul>
<a name="setVal-int-byte:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVal</h4>
<pre>public&nbsp;void&nbsp;setVal(int&nbsp;elementNum,
                   byte[]&nbsp;sourceBuf,
                   int&nbsp;start,
                   int&nbsp;length)</pre>
<div class="block">Set a field by actually copying in to a local buffer.
 If you must actually copy data in to the array, use this method.
 DO NOT USE this method unless it's not practical to set data by reference with setRef().
 Setting data by reference tends to run a lot faster than copying data in.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementNum</code> - index within column vector to set</dd>
<dd><code>sourceBuf</code> - container of source data</dd>
<dd><code>start</code> - start byte position within source</dd>
<dd><code>length</code> - length of source byte sequence</dd>
</dl>
</li>
</ul>
<a name="setVal-int-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVal</h4>
<pre>public&nbsp;void&nbsp;setVal(int&nbsp;elementNum,
                   byte[]&nbsp;sourceBuf)</pre>
<div class="block">Set a field by actually copying in to a local buffer.
 If you must actually copy data in to the array, use this method.
 DO NOT USE this method unless it's not practical to set data by reference with setRef().
 Setting data by reference tends to run a lot faster than copying data in.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementNum</code> - index within column vector to set</dd>
<dd><code>sourceBuf</code> - container of source data</dd>
</dl>
</li>
</ul>
<a name="setConcat-int-byte:A-int-int-byte:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConcat</h4>
<pre>public&nbsp;void&nbsp;setConcat(int&nbsp;elementNum,
                      byte[]&nbsp;leftSourceBuf,
                      int&nbsp;leftStart,
                      int&nbsp;leftLen,
                      byte[]&nbsp;rightSourceBuf,
                      int&nbsp;rightStart,
                      int&nbsp;rightLen)</pre>
<div class="block">Set a field to the concatenation of two string values. Result data is copied
 into the internal buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>elementNum</code> - index within column vector to set</dd>
<dd><code>leftSourceBuf</code> - container of left argument</dd>
<dd><code>leftStart</code> - start of left argument</dd>
<dd><code>leftLen</code> - length of left argument</dd>
<dd><code>rightSourceBuf</code> - container of right argument</dd>
<dd><code>rightStart</code> - start of right argument</dd>
<dd><code>rightLen</code> - length of right arugment</dd>
</dl>
</li>
</ul>
<a name="increaseBufferSpace-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseBufferSpace</h4>
<pre>public&nbsp;void&nbsp;increaseBufferSpace(int&nbsp;nextElemLength)</pre>
<div class="block">Increase buffer space enough to accommodate next element.
 This uses an exponential increase mechanism to rapidly
 increase buffer size to enough to hold all data.
 As batches get re-loaded, buffer space allocated will quickly
 stabilize.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nextElemLength</code> - size of next element to be added</dd>
</dl>
</li>
</ul>
<a name="copySelected-boolean-int:A-int-org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copySelected</h4>
<pre>public&nbsp;void&nbsp;copySelected(boolean&nbsp;selectedInUse,
                         int[]&nbsp;sel,
                         int&nbsp;size,
                         <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">BytesColumnVector</a>&nbsp;output)</pre>
<div class="block">Copy the current object contents into the output. Only copy selected entries,
 as indicated by selectedInUse and the sel array.</div>
</li>
</ul>
<a name="flatten-boolean-int:A-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flatten</h4>
<pre>public&nbsp;void&nbsp;flatten(boolean&nbsp;selectedInUse,
                    int[]&nbsp;sel,
                    int&nbsp;size)</pre>
<div class="block">Simplify vector by brute-force flattening noNulls and isRepeating
 This can be used to reduce combinatorial explosion of code paths in VectorExpressions
 with many arguments, at the expense of loss of some performance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#flatten-boolean-int:A-int-">flatten</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
</dl>
</li>
</ul>
<a name="fill-byte:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fill</h4>
<pre>public&nbsp;void&nbsp;fill(byte[]&nbsp;value)</pre>
</li>
</ul>
<a name="fillWithNulls--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fillWithNulls</h4>
<pre>public&nbsp;void&nbsp;fillWithNulls()</pre>
</li>
</ul>
<a name="setElement-int-int-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setElement</h4>
<pre>public&nbsp;void&nbsp;setElement(int&nbsp;outElementNum,
                       int&nbsp;inputElementNum,
                       <a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a>&nbsp;inputVector)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#setElement-int-int-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-">ColumnVector</a></code></span></div>
<div class="block">Set the element in this column vector from the given input vector.
 This method can assume that the output does not have isRepeating set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#setElement-int-int-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-">setElement</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
</dl>
</li>
</ul>
<a name="init--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#init--">ColumnVector</a></code></span></div>
<div class="block">Initialize the column vector. This method can be overridden by specific column vector types.
 Use this method only if the individual type of the column vector is not known, otherwise its
 preferable to call specific initialization methods.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#init--">init</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
</dl>
</li>
</ul>
<a name="toString-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString(int&nbsp;row)</pre>
</li>
</ul>
<a name="stringifyValue-java.lang.StringBuilder-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringifyValue</h4>
<pre>public&nbsp;void&nbsp;stringifyValue(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang">StringBuilder</a>&nbsp;buffer,
                           int&nbsp;row)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#stringifyValue-java.lang.StringBuilder-int-">ColumnVector</a></code></span></div>
<div class="block">Print the value for this column into the given string builder.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#stringifyValue-java.lang.StringBuilder-int-">stringifyValue</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - the buffer to print into</dd>
<dd><code>row</code> - the id of the row to print</dd>
</dl>
</li>
</ul>
<a name="ensureSize-int-boolean-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ensureSize</h4>
<pre>public&nbsp;void&nbsp;ensureSize(int&nbsp;size,
                       boolean&nbsp;preserveData)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#ensureSize-int-boolean-">ColumnVector</a></code></span></div>
<div class="block">Ensure the ColumnVector can hold at least size values.
 This method is deliberately *not* recursive because the complex types
 can easily have more (or less) children than the upper levels.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html#ensureSize-int-boolean-">ensureSize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - the new minimum size</dd>
<dd><code>preserveData</code> - should the old data be preserved?</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/BytesColumnVector.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html" title="class in org.apache.hadoop.hive.ql.exec.vector"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hadoop/hive/ql/exec/vector/BytesColumnVector.html" target="_top">Frames</a></li>
<li><a href="BytesColumnVector.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.classes.inherited.from.class.org.apache.hadoop.hive.ql.exec.vector.ColumnVector">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
