blob: 23010acb7a079c9ff3d3f1a749e5ee96561a8c04 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.drill.exec.expr (Drill : 1.20.0 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="org.apache.drill.exec.expr (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/exec/exception/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/drill/exec/expr/annotations/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/expr/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.drill.exec.expr</h1>
<div class="docSummary">
<div class="block">Drill expression materialization and evaluation facilities.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DrillAggFunc.html" title="interface in org.apache.drill.exec.expr">DrillAggFunc</a></td>
<td class="colLast">
<div class="block">Aggregate function interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DrillFunc.html" title="interface in org.apache.drill.exec.expr">DrillFunc</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DrillSimpleFunc.html" title="interface in org.apache.drill.exec.expr">DrillSimpleFunc</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/FilterPredicate.html" title="interface in org.apache.drill.exec.expr">FilterPredicate</a>&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/AbstractExecExprVisitor.html" title="class in org.apache.drill.exec.expr">AbstractExecExprVisitor</a>&lt;T,VAL,EXCEP extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/BatchReference.html" title="class in org.apache.drill.exec.expr">BatchReference</a></td>
<td class="colLast">
<div class="block">Holder class that contains batch naming, batch and record index.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/BooleanPredicate.html" title="class in org.apache.drill.exec.expr">BooleanPredicate</a>&lt;C extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;C&gt;&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a>&lt;T&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a></td>
<td class="colLast">
<div class="block">Represents a (Nullable)?(Type)Holder instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/CloneVisitor.html" title="class in org.apache.drill.exec.expr">CloneVisitor</a></td>
<td class="colLast">
<div class="block">Creates a deep copy of a LogicalExpression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/CodeGenerator.html" title="class in org.apache.drill.exec.expr">CodeGenerator</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A code generator is responsible for generating the Java source code required
to complete the implementation of an abstract template.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ComparisonPredicate.html" title="class in org.apache.drill.exec.expr">ComparisonPredicate</a>&lt;C extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;C&gt;&gt;</td>
<td class="colLast">
<div class="block">Comparison predicates for metadata filter pushdown.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DebugStringBuilder.html" title="class in org.apache.drill.exec.expr">DebugStringBuilder</a></td>
<td class="colLast">
<div class="block">Utility class to build a debug string for an object
in a standard format.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DirectExpression.html" title="class in org.apache.drill.exec.expr">DirectExpression</a></td>
<td class="colLast">
<div class="block">Encapsulates a Java expression, defined as anything that is
valid in the following code:<br>
<code>(<i>expr</i>)</code></div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/DrillFuncHolderExpr.html" title="class in org.apache.drill.exec.expr">DrillFuncHolderExpr</a></td>
<td class="colLast">
<div class="block">Represents the call of a function within a query and includes
the actual arguments and a reference to the function declaration (as a
"function holder.")</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EscapeTest1.html" title="class in org.apache.drill.exec.expr">EscapeTest1</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EscapeTest1.EH.html" title="class in org.apache.drill.exec.expr">EscapeTest1.EH</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EscapeTest1.Monkey.html" title="class in org.apache.drill.exec.expr">EscapeTest1.Monkey</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EscapeTest1.RR.html" title="class in org.apache.drill.exec.expr">EscapeTest1.RR</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EscapeTest1.Timer.html" title="class in org.apache.drill.exec.expr">EscapeTest1.Timer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EvaluationVisitor.html" title="class in org.apache.drill.exec.expr">EvaluationVisitor</a></td>
<td class="colLast">
<div class="block">Visitor that generates code for eval</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/EvaluationVisitor.VectorVariableHolder.html" title="class in org.apache.drill.exec.expr">EvaluationVisitor.VectorVariableHolder</a></td>
<td class="colLast">
<div class="block">Extended variable descriptor ("holding container") for the variable
which references the value holder ("FooHolder") that stores the value
from a value vector.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ExpressionTest.html" title="class in org.apache.drill.exec.expr">ExpressionTest</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ExpressionTreeMaterializer.html" title="class in org.apache.drill.exec.expr">ExpressionTreeMaterializer</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/FilterBuilder.html" title="class in org.apache.drill.exec.expr">FilterBuilder</a></td>
<td class="colLast">
<div class="block">A visitor which visits a materialized logical expression, and build
FilterPredicate If a visitXXX method returns null, that means the
corresponding filter branch is not qualified for push down.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/GetSetVectorHelper.html" title="class in org.apache.drill.exec.expr">GetSetVectorHelper</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/HashVisitor.html" title="class in org.apache.drill.exec.expr">HashVisitor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/HiveFuncHolderExpr.html" title="class in org.apache.drill.exec.expr">HiveFuncHolderExpr</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/HoldingContainerExpression.html" title="class in org.apache.drill.exec.expr">HoldingContainerExpression</a></td>
<td class="colLast">
<div class="block">Wrapper around a representation of a "Holder" to represent that
Holder as an expression.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/IsPredicate.html" title="class in org.apache.drill.exec.expr">IsPredicate</a>&lt;C extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;C&gt;&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/SingleClassStringWriter.html" title="class in org.apache.drill.exec.expr">SingleClassStringWriter</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/SizedJBlock.html" title="class in org.apache.drill.exec.expr">SizedJBlock</a></td>
<td class="colLast">
<div class="block">Uses this class to keep track # of Drill Logical Expressions that are
put to JBlock.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/StatisticsProvider.html" title="class in org.apache.drill.exec.expr">StatisticsProvider</a>&lt;T extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;&gt;</td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/TestLogicalExprSerDe.html" title="class in org.apache.drill.exec.expr">TestLogicalExprSerDe</a></td>
<td class="colLast">
<div class="block">Test LogicalExpressions are serialized and deserialized properly when query is planned into multiple fragments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/TestSchemaPathMaterialization.html" title="class in org.apache.drill.exec.expr">TestSchemaPathMaterialization</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ValueVectorReadExpression.html" title="class in org.apache.drill.exec.expr">ValueVectorReadExpression</a></td>
<td class="colLast">
<div class="block">Wraps a value vector field to be read, providing metadata about the field.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ValueVectorWriteExpression.html" title="class in org.apache.drill.exec.expr">ValueVectorWriteExpression</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ClassGenerator.BlkCreateMode.html" title="enum in org.apache.drill.exec.expr">ClassGenerator.BlkCreateMode</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/drill/exec/expr/ClassGenerator.BlockType.html" title="enum in org.apache.drill.exec.expr">ClassGenerator.BlockType</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.drill.exec.expr Description">Package org.apache.drill.exec.expr Description</h2>
<div class="block">Drill expression materialization and evaluation facilities.
Drill exposes an interface for defining custom scalar and aggregate functions.
These functions are found by scanning the classpath at runtime and allow users
to add their own functions without rebuilding Drill or changing cluster
configuration.
The classes that define these functions are actually decomposed at the source
level, copied into generated code blocks to evaluate an entire expression
tree. This generated source is built at run-time as schema is discovered.
This package contains the <code>DrillSimpleFunc</code> and <code>DrillAggFunc</code>
interfaces that can be implemented by users to define their own aggregate
and scalar functions.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/exec/exception/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/drill/exec/expr/annotations/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/expr/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>