<!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>OrcFilterContext (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="OrcFilterContext (ORC Core 1.9.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":17,"i2":17};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default 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/OrcFilterContext.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/OrcFile.WriterVersion.html" title="enum in org.apache.orc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/orc/OrcUtils.html" title="class in org.apache.orc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/orc/OrcFilterContext.html" target="_top">Frames</a></li>
<li><a href="OrcFilterContext.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.orc</div>
<h2 title="Interface OrcFilterContext" class="title">Interface OrcFilterContext</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/hive.ql.io.filter.FilterContext.html?is-external=true" title="class or interface in org.apache.hadoop">org.apache.hadoop.hive.ql.io.filter.FilterContext</a>, <a href="https://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/hive.ql.io.filter.MutableFilterContext.html?is-external=true" title="class or interface in org.apache.hadoop">org.apache.hadoop.hive.ql.io.filter.MutableFilterContext</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/orc/impl/OrcFilterContextImpl.html" title="class in org.apache.orc.impl">OrcFilterContextImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">OrcFilterContext</span>
extends <a href="https://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/hive.ql.io.filter.MutableFilterContext.html?is-external=true" title="class or interface in org.apache.hadoop">org.apache.hadoop.hive.ql.io.filter.MutableFilterContext</a></pre>
<div class="block">This defines the input for any filter operation. This is an extension of
 [[<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"><code>VectorizedRowBatch</code></a>]] with schema.
 <p>
 This offers a convenience method of finding the column vector from a given column name
 that the filters can invoke to get access to the column vector.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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><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>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/OrcFilterContext.html#findColumnVector-java.lang.String-">findColumnVector</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Retrieves the column vector that matches the specified name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/OrcFilterContext.html#isNull-org.apache.hadoop.hive.ql.exec.vector.ColumnVector:A-int-">isNull</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;vectorBranch,
      int&nbsp;idx)</code>
<div class="block">Utility method for determining if a particular row element in the vector branch is null.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/apache/orc/OrcFilterContext.html#noNulls-org.apache.hadoop.hive.ql.exec.vector.ColumnVector:A-">noNulls</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;vectorBranch)</code>
<div class="block">Utility method for determining if the leaf vector of the branch can be treated as having
 noNulls.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.ql.io.filter.MutableFilterContext">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hive.ql.io.filter.<a href="https://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/hive.ql.io.filter.MutableFilterContext.html?is-external=true" title="class or interface in org.apache.hadoop">MutableFilterContext</a></h3>
<code>immutable, setFilterContext, setSelected, setSelectedInUse, setSelectedSize, updateSelected, validateSelected</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hive.ql.io.filter.FilterContext">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hive.ql.io.filter.<a href="https://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/hive.ql.io.filter.FilterContext.html?is-external=true" title="class or interface in org.apache.hadoop">FilterContext</a></h3>
<code>getSelected, getSelectedSize, isSelectedInUse, reset</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="findColumnVector-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findColumnVector</h4>
<pre><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;findColumnVector(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Retrieves the column vector that matches the specified name. Allows support for nested struct
 references e.g. order.date where date is a field in a struct called order.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - The column name whose vector should be retrieved</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The column vectors from the root to the column name. The array levels match the name
 levels with Array[0] referring to the top level, followed by the subsequent levels. For
 example of order.date Array[0] refers to order and Array[1] refers to date</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the field is not found or if the nested field is not part
                                  of a struct</dd>
</dl>
</li>
</ul>
<a name="noNulls-org.apache.hadoop.hive.ql.exec.vector.ColumnVector:A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>noNulls</h4>
<pre>static&nbsp;boolean&nbsp;noNulls(<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;vectorBranch)</pre>
<div class="block">Utility method for determining if the leaf vector of the branch can be treated as having
 noNulls.
 This method navigates from the top to the leaf and checks if we have nulls anywhere in the
 branch as compared to checking just the leaf vector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vectorBranch</code> - The input vector branch from the root to the leaf</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the entire branch satisfies noNull else false</dd>
</dl>
</li>
</ul>
<a name="isNull-org.apache.hadoop.hive.ql.exec.vector.ColumnVector:A-int-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isNull</h4>
<pre>static&nbsp;boolean&nbsp;isNull(<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;vectorBranch,
                      int&nbsp;idx)
               throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
<div class="block">Utility method for determining if a particular row element in the vector branch is null.
 This method navigates from the top to the leaf and checks if we have nulls anywhere in the
 branch as compared to checking just the leaf vector.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vectorBranch</code> - The input vector branch from the root to the leaf</dd>
<dd><code>idx</code> - The row index being tested</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the entire branch is not null for the idx otherwise false</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - If a multivalued vector such as List or Map is encountered in
                                  the branch.</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/OrcFilterContext.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/OrcFile.WriterVersion.html" title="enum in org.apache.orc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/apache/orc/OrcUtils.html" title="class in org.apache.orc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/apache/orc/OrcFilterContext.html" target="_top">Frames</a></li>
<li><a href="OrcFilterContext.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2013&#x2013;2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
