<!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>TreeWriterBase (ORC Core 1.9.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="TreeWriterBase (ORC Core 1.9.0 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};
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/TreeWriterBase.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/orc/impl/writer/TreeWriter.Factory.html" title="class in org.apache.orc.impl.writer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/orc/impl/writer/UnionTreeWriter.html" title="class in org.apache.orc.impl.writer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/orc/impl/writer/TreeWriterBase.html" target="_top">Frames</a></li>
<li><a href="TreeWriterBase.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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.orc.impl.writer</div>
<h2 title="Class TreeWriterBase" class="title">Class TreeWriterBase</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.orc.impl.writer.TreeWriterBase</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/orc/impl/writer/BinaryTreeWriter.html" title="class in org.apache.orc.impl.writer">BinaryTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/BooleanTreeWriter.html" title="class in org.apache.orc.impl.writer">BooleanTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/ByteTreeWriter.html" title="class in org.apache.orc.impl.writer">ByteTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/DateTreeWriter.html" title="class in org.apache.orc.impl.writer">DateTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/Decimal64TreeWriter.html" title="class in org.apache.orc.impl.writer">Decimal64TreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/DecimalTreeWriter.html" title="class in org.apache.orc.impl.writer">DecimalTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/DoubleTreeWriter.html" title="class in org.apache.orc.impl.writer">DoubleTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/FloatTreeWriter.html" title="class in org.apache.orc.impl.writer">FloatTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/IntegerTreeWriter.html" title="class in org.apache.orc.impl.writer">IntegerTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/ListTreeWriter.html" title="class in org.apache.orc.impl.writer">ListTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/MapTreeWriter.html" title="class in org.apache.orc.impl.writer">MapTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/StringBaseTreeWriter.html" title="class in org.apache.orc.impl.writer">StringBaseTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/StructTreeWriter.html" title="class in org.apache.orc.impl.writer">StructTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/TimestampTreeWriter.html" title="class in org.apache.orc.impl.writer">TimestampTreeWriter</a>, <a href="../../../../../org/apache/orc/impl/writer/UnionTreeWriter.html" title="class in org.apache.orc.impl.writer">UnionTreeWriter</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">TreeWriterBase</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></pre>
<div class="block">The parent class of all of the writers for each column. Each column
 is written by an instance of this class. The compound types (struct,
 list, map, and union) have children tree writers that write the children
 types.</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.orc.impl.writer.TreeWriter">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.orc.impl.writer.<a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></h3>
<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.Factory.html" title="class in org.apache.orc.impl.writer">TreeWriter.Factory</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>protected <a href="../../../../../org/apache/orc/util/BloomFilter.html" title="class in org.apache.orc.util">BloomFilter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#bloomFilter">bloomFilter</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.BloomFilter.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.BloomFilter.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#bloomFilterEntry">bloomFilterEntry</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/util/BloomFilterUtf8.html" title="class in org.apache.orc.util">BloomFilterUtf8</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#bloomFilterUtf8">bloomFilterUtf8</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/writer/WriterContext.html" title="interface in org.apache.orc.impl.writer">WriterContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#context">context</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#createBloomFilter">createBloomFilter</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/writer/WriterEncryptionVariant.html" title="class in org.apache.orc.impl.writer">WriterEncryptionVariant</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#encryption">encryption</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#fileStatistics">fileStatistics</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#id">id</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#indexStatistics">indexStatistics</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/BitFieldWriter.html" title="class in org.apache.orc.impl">BitFieldWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#isPresent">isPresent</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://orc.apache.org/api/orc-core/org/apache/orc/impl/writer/TreeWriterBase.RowIndexPositionRecorder.html?is-external=true" title="class or interface in org.apache.orc.impl.writer">org.apache.orc.impl.writer.TreeWriterBase.RowIndexPositionRecorder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#rowIndexPosition">rowIndexPosition</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/TypeDescription.html" title="class in org.apache.orc">TypeDescription</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#schema">schema</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#stripeColStatistics">stripeColStatistics</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#addStripeStatistics-org.apache.orc.StripeStatistics:A-">addStripeStatistics</a></span>(<a href="../../../../../org/apache/orc/StripeStatistics.html" title="class in org.apache.orc">StripeStatistics</a>[]&nbsp;stats)</code>
<div class="block">During a stripe append, we need to handle the stripe statistics.</div>
</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/orc/impl/writer/TreeWriterBase.html#createRowIndexEntry--">createRowIndexEntry</a></span>()</code>
<div class="block">Create a row index entry with the previous location and the current
 index statistics.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#estimateMemory--">estimateMemory</a></span>()</code>
<div class="block">Estimate how much memory the writer is consuming excluding the streams.</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/orc/impl/writer/TreeWriterBase.html#flushStreams--">flushStreams</a></span>()</code>
<div class="block">Flush the TreeWriter stream</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/orc/impl/writer/TreeWriterBase.html#getCurrentStatistics-org.apache.orc.ColumnStatistics:A-">getCurrentStatistics</a></span>(<a href="../../../../../org/apache/orc/ColumnStatistics.html" title="interface in org.apache.orc">ColumnStatistics</a>[]&nbsp;output)</code>
<div class="block">Get the current file statistics for each column.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.RowIndex.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.RowIndex.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#getRowIndex--">getRowIndex</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected <a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.RowIndexEntry.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.RowIndexEntry.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#getRowIndexEntry--">getRowIndexEntry</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/orc/impl/writer/TreeWriterBase.html#getStripeStatistics--">getStripeStatistics</a></span>()</code>&nbsp;</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/orc/impl/writer/TreeWriterBase.html#prepareStripe-int-">prepareStripe</a></span>(int&nbsp;stripeId)</code>
<div class="block">Set up for the next stripe.</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/orc/impl/writer/TreeWriterBase.html#writeBatch-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-int-int-">writeBatch</a></span>(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a>&nbsp;vector,
          int&nbsp;offset,
          int&nbsp;length)</code>
<div class="block">Write the values from the given vector from offset for length elements.</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/orc/impl/writer/TreeWriterBase.html#writeFileStatistics--">writeFileStatistics</a></span>()</code>
<div class="block">Write the FileStatistics for each column in each encryption variant.</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/orc/impl/writer/TreeWriterBase.html#writeRootBatch-org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch-int-int-">writeRootBatch</a></span>(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">VectorizedRowBatch</a>&nbsp;batch,
              int&nbsp;offset,
              int&nbsp;length)</code>
<div class="block">Handle the top level object write.</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/orc/impl/writer/TreeWriterBase.html#writeStripe-int-">writeStripe</a></span>(int&nbsp;requiredIndexEntries)</code>
<div class="block">Write the stripe out to the file.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.orc.impl.writer.TreeWriter">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.orc.impl.writer.<a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></h3>
<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#getRawDataSize--">getRawDataSize</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="id">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre>protected final&nbsp;int id</pre>
</li>
</ul>
<a name="isPresent">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPresent</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/BitFieldWriter.html" title="class in org.apache.orc.impl">BitFieldWriter</a> isPresent</pre>
</li>
</ul>
<a name="schema">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>schema</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/TypeDescription.html" title="class in org.apache.orc">TypeDescription</a> schema</pre>
</li>
</ul>
<a name="encryption">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>encryption</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/writer/WriterEncryptionVariant.html" title="class in org.apache.orc.impl.writer">WriterEncryptionVariant</a> encryption</pre>
</li>
</ul>
<a name="indexStatistics">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>indexStatistics</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a> indexStatistics</pre>
</li>
</ul>
<a name="stripeColStatistics">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stripeColStatistics</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a> stripeColStatistics</pre>
</li>
</ul>
<a name="fileStatistics">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fileStatistics</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a> fileStatistics</pre>
</li>
</ul>
<a name="rowIndexPosition">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowIndexPosition</h4>
<pre>protected final&nbsp;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/impl/writer/TreeWriterBase.RowIndexPositionRecorder.html?is-external=true" title="class or interface in org.apache.orc.impl.writer">org.apache.orc.impl.writer.TreeWriterBase.RowIndexPositionRecorder</a> rowIndexPosition</pre>
</li>
</ul>
<a name="bloomFilter">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bloomFilter</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/util/BloomFilter.html" title="class in org.apache.orc.util">BloomFilter</a> bloomFilter</pre>
</li>
</ul>
<a name="bloomFilterUtf8">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bloomFilterUtf8</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/util/BloomFilterUtf8.html" title="class in org.apache.orc.util">BloomFilterUtf8</a> bloomFilterUtf8</pre>
</li>
</ul>
<a name="createBloomFilter">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createBloomFilter</h4>
<pre>protected final&nbsp;boolean createBloomFilter</pre>
</li>
</ul>
<a name="bloomFilterEntry">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bloomFilterEntry</h4>
<pre>protected final&nbsp;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.BloomFilter.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.BloomFilter.Builder</a> bloomFilterEntry</pre>
</li>
</ul>
<a name="context">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>context</h4>
<pre>protected final&nbsp;<a href="../../../../../org/apache/orc/impl/writer/WriterContext.html" title="interface in org.apache.orc.impl.writer">WriterContext</a> context</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getRowIndex--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowIndex</h4>
<pre>protected&nbsp;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.RowIndex.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.RowIndex.Builder</a>&nbsp;getRowIndex()</pre>
</li>
</ul>
<a name="getStripeStatistics--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStripeStatistics</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/orc/impl/ColumnStatisticsImpl.html" title="class in org.apache.orc.impl">ColumnStatisticsImpl</a>&nbsp;getStripeStatistics()</pre>
</li>
</ul>
<a name="getRowIndexEntry--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRowIndexEntry</h4>
<pre>protected&nbsp;<a href="https://orc.apache.org/api/orc-core/org/apache/orc/OrcProto.RowIndexEntry.Builder.html?is-external=true" title="class or interface in org.apache.orc">OrcProto.RowIndexEntry.Builder</a>&nbsp;getRowIndexEntry()</pre>
</li>
</ul>
<a name="writeRootBatch-org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeRootBatch</h4>
<pre>public&nbsp;void&nbsp;writeRootBatch(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">VectorizedRowBatch</a>&nbsp;batch,
                           int&nbsp;offset,
                           int&nbsp;length)
                    throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Handle the top level object write.

 This default method is used for all types except structs, which are the
 typical case. VectorizedRowBatch assumes the top level object is a
 struct, so we use the first column for all other types.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeRootBatch-org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch-int-int-">writeRootBatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>batch</code> - the batch to write from</dd>
<dd><code>offset</code> - the row to start on</dd>
<dd><code>length</code> - the number of rows to write</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeBatch-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBatch</h4>
<pre>public&nbsp;void&nbsp;writeBatch(<a href="https://orc.apache.org/api/hive-storage-api/org/apache/hadoop/hive/ql/exec/vector/ColumnVector.html?is-external=true" title="class or interface in org.apache.hadoop.hive.ql.exec.vector">ColumnVector</a>&nbsp;vector,
                       int&nbsp;offset,
                       int&nbsp;length)
                throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Write the values from the given vector from offset for length elements.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeBatch-org.apache.hadoop.hive.ql.exec.vector.ColumnVector-int-int-">writeBatch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vector</code> - the vector to write from</dd>
<dd><code>offset</code> - the first value from the vector to write</dd>
<dd><code>length</code> - the number of values from the vector to write</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="prepareStripe-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareStripe</h4>
<pre>public&nbsp;void&nbsp;prepareStripe(int&nbsp;stripeId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#prepareStripe-int-">TreeWriter</a></code></span></div>
<div class="block">Set up for the next stripe.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#prepareStripe-int-">prepareStripe</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stripeId</code> - the next stripe id</dd>
</dl>
</li>
</ul>
<a name="flushStreams--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flushStreams</h4>
<pre>public&nbsp;void&nbsp;flushStreams()
                  throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#flushStreams--">TreeWriter</a></code></span></div>
<div class="block">Flush the TreeWriter stream</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#flushStreams--">flushStreams</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="writeStripe-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeStripe</h4>
<pre>public&nbsp;void&nbsp;writeStripe(int&nbsp;requiredIndexEntries)
                 throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeStripe-int-">TreeWriter</a></code></span></div>
<div class="block">Write the stripe out to the file.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeStripe-int-">writeStripe</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requiredIndexEntries</code> - the number of index entries that are
                             required. this is to check to make sure the
                             row index is well formed.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="createRowIndexEntry--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createRowIndexEntry</h4>
<pre>public&nbsp;void&nbsp;createRowIndexEntry()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Create a row index entry with the previous location and the current
 index statistics. Also merges the index statistics into the file
 statistics before they are cleared. Finally, it records the start of the
 next index and ensures all of the children columns also create an entry.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#createRowIndexEntry--">createRowIndexEntry</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="addStripeStatistics-org.apache.orc.StripeStatistics:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addStripeStatistics</h4>
<pre>public&nbsp;void&nbsp;addStripeStatistics(<a href="../../../../../org/apache/orc/StripeStatistics.html" title="class in org.apache.orc">StripeStatistics</a>[]&nbsp;stats)
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#addStripeStatistics-org.apache.orc.StripeStatistics:A-">TreeWriter</a></code></span></div>
<div class="block">During a stripe append, we need to handle the stripe statistics.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#addStripeStatistics-org.apache.orc.StripeStatistics:A-">addStripeStatistics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stats</code> - the statistics for the new stripe across the
                         encryption variants</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="estimateMemory--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateMemory</h4>
<pre>public&nbsp;long&nbsp;estimateMemory()</pre>
<div class="block">Estimate how much memory the writer is consuming excluding the streams.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#estimateMemory--">estimateMemory</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes.</dd>
</dl>
</li>
</ul>
<a name="writeFileStatistics--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeFileStatistics</h4>
<pre>public&nbsp;void&nbsp;writeFileStatistics()
                         throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeFileStatistics--">TreeWriter</a></code></span></div>
<div class="block">Write the FileStatistics for each column in each encryption variant.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#writeFileStatistics--">writeFileStatistics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="getCurrentStatistics-org.apache.orc.ColumnStatistics:A-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getCurrentStatistics</h4>
<pre>public&nbsp;void&nbsp;getCurrentStatistics(<a href="../../../../../org/apache/orc/ColumnStatistics.html" title="interface in org.apache.orc">ColumnStatistics</a>[]&nbsp;output)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#getCurrentStatistics-org.apache.orc.ColumnStatistics:A-">TreeWriter</a></code></span></div>
<div class="block">Get the current file statistics for each column. If a column is encrypted,
 the encrypted variant statistics are used.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html#getCurrentStatistics-org.apache.orc.ColumnStatistics:A-">getCurrentStatistics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/orc/impl/writer/TreeWriter.html" title="interface in org.apache.orc.impl.writer">TreeWriter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>output</code> - an array that is filled in with the results</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/TreeWriterBase.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/orc/impl/writer/TreeWriter.Factory.html" title="class in org.apache.orc.impl.writer"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/orc/impl/writer/UnionTreeWriter.html" title="class in org.apache.orc.impl.writer"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/orc/impl/writer/TreeWriterBase.html" target="_top">Frames</a></li>
<li><a href="TreeWriterBase.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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; 2013&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
