| <!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>DrillFuncHolder (Drill : 1.20.3 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="DrillFuncHolder (Drill : 1.20.3 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,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":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/DrillFuncHolder.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/expr/fn/DrillComplexWriterFuncHolder.html" title="class in org.apache.drill.exec.expr.fn"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.html" title="class in org.apache.drill.exec.expr.fn"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/drill/exec/expr/fn/DrillFuncHolder.html" target="_top">Frames</a></li> |
| <li><a href="DrillFuncHolder.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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.drill.exec.expr.fn</div> |
| <h2 title="Class DrillFuncHolder" class="title">Class DrillFuncHolder</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><a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">org.apache.drill.exec.expr.fn.AbstractFuncHolder</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li>org.apache.drill.exec.expr.fn.DrillFuncHolder</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <dl> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><a href="../../../../../../org/apache/drill/common/expression/fn/FuncHolder.html" title="interface in org.apache.drill.common.expression.fn">FuncHolder</a></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillComplexWriterAggFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">DrillComplexWriterAggFuncHolder</a>, <a href="../../../../../../org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">DrillSimpleFuncHolder</a></dd> |
| </dl> |
| <hr> |
| <br> |
| <pre>public abstract class <span class="typeNameLabel">DrillFuncHolder</span> |
| extends <a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">AbstractFuncHolder</a></pre> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ======== 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"> </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/drill/exec/expr/fn/DrillFuncHolder.html#DrillFuncHolder-org.apache.drill.exec.expr.fn.FunctionAttributes-org.apache.drill.exec.expr.fn.FunctionInitializer-">DrillFuncHolder</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/fn/FunctionAttributes.html" title="class in org.apache.drill.exec.expr.fn">FunctionAttributes</a> attributes, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/FunctionInitializer.html" title="class in org.apache.drill.exec.expr.fn">FunctionInitializer</a> initializer)</code> </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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#addProtectedBlock-org.apache.drill.exec.expr.ClassGenerator-com.sun.codemodel.JBlock-java.lang.String-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-boolean-">addProtectedBlock</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| com.sun.codemodel.JBlock sub, |
| <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> body, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| com.sun.codemodel.JVar[] workspaceJVars, |
| boolean workspaceOnly)</code> |
| <div class="block">Generate the function block itself, without surrounding comments, and |
| whether or not the method is empty.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#assignInjectableValue-org.apache.drill.exec.expr.ClassGenerator-com.sun.codemodel.JVar-org.apache.drill.exec.expr.fn.WorkspaceReference-">assignInjectableValue</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| com.sun.codemodel.JVar variable, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/WorkspaceReference.html" title="class in org.apache.drill.exec.expr.fn">WorkspaceReference</a> ref)</code> </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#checkNullHandling-org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling-">checkNullHandling</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/annotations/FunctionTemplate.NullHandling.html" title="enum in org.apache.drill.exec.expr.annotations">FunctionTemplate.NullHandling</a> nullHandling)</code> |
| <div class="block">Check if function type supports provided null handling strategy.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#checkPrecisionRange--">checkPrecisionRange</a></span>()</code> </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>protected com.sun.codemodel.JAssignmentTarget</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#declare-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.fn.ValueReference-com.sun.codemodel.JType-com.sun.codemodel.JExpression-int-">declare</a></span>(com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a> parameter, |
| com.sun.codemodel.JType paramClass, |
| com.sun.codemodel.JExpression paramExpression, |
| int currentIndex)</code> |
| <div class="block">Declares specified <code>paramExpression</code> in specified <code>jBlock</code> |
| and assigns it to the array component if required and / or returns declared expression.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#declareInputVariable-com.sun.codemodel.JCodeModel-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer-int-">declareInputVariable</a></span>(com.sun.codemodel.JCodeModel model, |
| com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a> inputVariable, |
| int currentIndex)</code> |
| <div class="block">Generate the top part of a function call which simulates passing parameters |
| into the function.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#declareVarArgArray-com.sun.codemodel.JCodeModel-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-">declareVarArgArray</a></span>(com.sun.codemodel.JCodeModel model, |
| com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables)</code> |
| <div class="block">Declares array for storing vararg function arguments.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>protected com.sun.codemodel.JVar[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#declareWorkspaceVariables-org.apache.drill.exec.expr.ClassGenerator-">declareWorkspaceVariables</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g)</code> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#generateBody-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.BlockType-java.lang.String-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-boolean-">generateBody</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.BlockType.html" title="enum in org.apache.drill.exec.expr">ClassGenerator.BlockType</a> bt, |
| <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> body, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| com.sun.codemodel.JVar[] workspaceJVars, |
| boolean workspaceOnly)</code> |
| <div class="block">Generate the body of a Drill function by copying the source code of the |
| corresponding function method into the generated output.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getAttributeParameter-int-">getAttributeParameter</a></span>(int i)</code> |
| <div class="block">Returns i-th function attribute parameter.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getClassLoader--">getClassLoader</a></span>()</code> </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getCostCategory--">getCostCategory</a></span>()</code> </td> |
| </tr> |
| <tr id="i12" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/common/expression/FunctionHolderExpression.html" title="class in org.apache.drill.common.expression">FunctionHolderExpression</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getExpr-java.lang.String-java.util.List-org.apache.drill.common.expression.ExpressionPosition-">getExpr</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> name, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/expression/LogicalExpression.html" title="interface in org.apache.drill.common.expression">LogicalExpression</a>> args, |
| <a href="../../../../../../org/apache/drill/common/expression/ExpressionPosition.html" title="class in org.apache.drill.common.expression">ExpressionPosition</a> pos)</code> |
| <div class="block">Return a reference to this function given a function alias and a |
| list of actual arguments.</div> |
| </td> |
| </tr> |
| <tr id="i13" class="rowColor"> |
| <td class="colFirst"><code><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></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getInputParameters--">getInputParameters</a></span>()</code> |
| <div class="block">Generates string representation of function input parameters: |
| PARAMETER_TYPE_1-PARAMETER_MODE_1,PARAMETER_TYPE_2-PARAMETER_MODE_2 |
| Example: VARCHAR-REQUIRED,VARCHAR-OPTIONAL |
| Returns empty string if function has no input parameters.</div> |
| </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/annotations/FunctionTemplate.NullHandling.html" title="enum in org.apache.drill.exec.expr.annotations">FunctionTemplate.NullHandling</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getNullHandling--">getNullHandling</a></span>()</code> </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/fn/output/OutputWidthCalculator.html" title="interface in org.apache.drill.exec.expr.fn.output">OutputWidthCalculator</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getOutputWidthCalculator--">getOutputWidthCalculator</a></span>()</code> </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getParamCount--">getParamCount</a></span>()</code> |
| <div class="block">Number of defined input parameters.</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a>[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getParameters--">getParameters</a></span>()</code> </td> |
| </tr> |
| <tr id="i18" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getParamMajorType-int-">getParamMajorType</a></span>(int i)</code> |
| <div class="block">Drill SQL type of an input parameter.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code><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>[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getRegisteredNames--">getRegisteredNames</a></span>()</code> </td> |
| </tr> |
| <tr id="i20" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getReturnType--">getReturnType</a></span>()</code> </td> |
| </tr> |
| <tr id="i21" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getReturnType-java.util.List-">getReturnType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/expression/LogicalExpression.html" title="interface in org.apache.drill.common.expression">LogicalExpression</a>> logicalExpressions)</code> </td> |
| </tr> |
| <tr id="i22" class="altColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getReturnValue--">getReturnValue</a></span>()</code> </td> |
| </tr> |
| <tr id="i23" class="rowColor"> |
| <td class="colFirst"><code><a href="../../../../../../org/apache/drill/exec/expr/fn/WorkspaceReference.html" title="class in org.apache.drill.exec.expr.fn">WorkspaceReference</a>[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#getWorkspaceVars--">getWorkspaceVars</a></span>()</code> </td> |
| </tr> |
| <tr id="i24" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isAggregating--">isAggregating</a></span>()</code> </td> |
| </tr> |
| <tr id="i25" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isConstant-int-">isConstant</a></span>(int i)</code> </td> |
| </tr> |
| <tr id="i26" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isDeterministic--">isDeterministic</a></span>()</code> </td> |
| </tr> |
| <tr id="i27" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isFieldReader-int-">isFieldReader</a></span>(int i)</code> </td> |
| </tr> |
| <tr id="i28" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isInternal--">isInternal</a></span>()</code> </td> |
| </tr> |
| <tr id="i29" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isNiladic--">isNiladic</a></span>()</code> </td> |
| </tr> |
| <tr id="i30" class="altColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#isVarArg--">isVarArg</a></span>()</code> </td> |
| </tr> |
| <tr id="i31" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#matches-org.apache.drill.common.types.TypeProtos.MajorType-java.util.List-">matches</a></span>(<a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a> returnType, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a>> argTypes)</code> </td> |
| </tr> |
| <tr id="i32" class="altColor"> |
| <td class="colFirst"><code>protected <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></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#meth-java.lang.String-">meth</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> methodName)</code> </td> |
| </tr> |
| <tr id="i33" class="rowColor"> |
| <td class="colFirst"><code>protected <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></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#meth-java.lang.String-boolean-">meth</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> methodName, |
| boolean required)</code> </td> |
| </tr> |
| <tr id="i34" class="altColor"> |
| <td class="colFirst"><code>com.sun.codemodel.JVar[]</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#renderStart-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-org.apache.drill.common.expression.FieldReference-">renderStart</a></span>(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| <a href="../../../../../../org/apache/drill/common/expression/FieldReference.html" title="class in org.apache.drill.common.expression">FieldReference</a> fieldReference)</code> </td> |
| </tr> |
| <tr id="i35" class="rowColor"> |
| <td class="colFirst"><code><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></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#toString--">toString</a></span>()</code> </td> |
| </tr> |
| <tr id="i36" class="altColor"> |
| <td class="colFirst"><code>int</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#variableOutputSizeEstimate--">variableOutputSizeEstimate</a></span>()</code> </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.expr.fn.AbstractFuncHolder"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.drill.exec.expr.fn.<a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">AbstractFuncHolder</a></h3> |
| <code><a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html#isComplexWriterFuncHolder--">isComplexWriterFuncHolder</a>, <a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html#isNested--">isNested</a>, <a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html#renderEnd-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-org.apache.drill.common.expression.FunctionHolderExpression-">renderEnd</a>, <a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html#renderMiddle-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-">renderMiddle</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 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#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> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="DrillFuncHolder-org.apache.drill.exec.expr.fn.FunctionAttributes-org.apache.drill.exec.expr.fn.FunctionInitializer-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>DrillFuncHolder</h4> |
| <pre>public DrillFuncHolder(<a href="../../../../../../org/apache/drill/exec/expr/fn/FunctionAttributes.html" title="class in org.apache.drill.exec.expr.fn">FunctionAttributes</a> attributes, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/FunctionInitializer.html" title="class in org.apache.drill.exec.expr.fn">FunctionInitializer</a> initializer)</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="checkNullHandling-org.apache.drill.exec.expr.annotations.FunctionTemplate.NullHandling-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkNullHandling</h4> |
| <pre>protected void checkNullHandling(<a href="../../../../../../org/apache/drill/exec/expr/annotations/FunctionTemplate.NullHandling.html" title="enum in org.apache.drill.exec.expr.annotations">FunctionTemplate.NullHandling</a> nullHandling)</pre> |
| <div class="block">Check if function type supports provided null handling strategy. |
| <p> |
| Keep in mind that this method is invoked in |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/DrillFuncHolder.html#DrillFuncHolder-org.apache.drill.exec.expr.fn.FunctionAttributes-org.apache.drill.exec.expr.fn.FunctionInitializer-"><code>DrillFuncHolder(FunctionAttributes, FunctionInitializer)</code></a> |
| constructor so make sure not to use any state fields when overriding the |
| method to avoid uninitialized state. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>nullHandling</code> - null handling strategy defined for a function</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 provided <code>nullHandling</code> is not supported</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="meth-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>meth</h4> |
| <pre>protected <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> meth(<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> methodName)</pre> |
| </li> |
| </ul> |
| <a name="meth-java.lang.String-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>meth</h4> |
| <pre>protected <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> meth(<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> methodName, |
| boolean required)</pre> |
| </li> |
| </ul> |
| <a name="renderStart-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-org.apache.drill.common.expression.FieldReference-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>renderStart</h4> |
| <pre>public com.sun.codemodel.JVar[] renderStart(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| <a href="../../../../../../org/apache/drill/common/expression/FieldReference.html" title="class in org.apache.drill.common.expression">FieldReference</a> fieldReference)</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html#renderStart-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-org.apache.drill.common.expression.FieldReference-">renderStart</a></code> in class <code><a href="../../../../../../org/apache/drill/exec/expr/fn/AbstractFuncHolder.html" title="class in org.apache.drill.exec.expr.fn">AbstractFuncHolder</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getExpr-java.lang.String-java.util.List-org.apache.drill.common.expression.ExpressionPosition-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExpr</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/common/expression/FunctionHolderExpression.html" title="class in org.apache.drill.common.expression">FunctionHolderExpression</a> getExpr(<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> name, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/expression/LogicalExpression.html" title="interface in org.apache.drill.common.expression">LogicalExpression</a>> args, |
| <a href="../../../../../../org/apache/drill/common/expression/ExpressionPosition.html" title="class in org.apache.drill.common.expression">ExpressionPosition</a> pos)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/drill/common/expression/fn/FuncHolder.html#getExpr-java.lang.String-java.util.List-org.apache.drill.common.expression.ExpressionPosition-">FuncHolder</a></code></span></div> |
| <div class="block">Return a reference to this function given a function alias and a |
| list of actual arguments.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>name</code> - alias used in this specific call</dd> |
| <dd><code>args</code> - expressions of the actual function arguments</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>an expression that holds the function definition (this object), |
| actual parameters and related information</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isAggregating--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isAggregating</h4> |
| <pre>public boolean isAggregating()</pre> |
| </li> |
| </ul> |
| <a name="isDeterministic--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isDeterministic</h4> |
| <pre>public boolean isDeterministic()</pre> |
| </li> |
| </ul> |
| <a name="isNiladic--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isNiladic</h4> |
| <pre>public boolean isNiladic()</pre> |
| </li> |
| </ul> |
| <a name="isInternal--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isInternal</h4> |
| <pre>public boolean isInternal()</pre> |
| </li> |
| </ul> |
| <a name="isVarArg--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isVarArg</h4> |
| <pre>public boolean isVarArg()</pre> |
| </li> |
| </ul> |
| <a name="getInputParameters--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getInputParameters</h4> |
| <pre>public <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> getInputParameters()</pre> |
| <div class="block">Generates string representation of function input parameters: |
| PARAMETER_TYPE_1-PARAMETER_MODE_1,PARAMETER_TYPE_2-PARAMETER_MODE_2 |
| Example: VARCHAR-REQUIRED,VARCHAR-OPTIONAL |
| Returns empty string if function has no input parameters.</div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>string representation of function input parameters</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getClassLoader--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getClassLoader</h4> |
| <pre>public <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a> getClassLoader()</pre> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>instance of class loader used to load function</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="declareWorkspaceVariables-org.apache.drill.exec.expr.ClassGenerator-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>declareWorkspaceVariables</h4> |
| <pre>protected com.sun.codemodel.JVar[] declareWorkspaceVariables(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g)</pre> |
| </li> |
| </ul> |
| <a name="assignInjectableValue-org.apache.drill.exec.expr.ClassGenerator-com.sun.codemodel.JVar-org.apache.drill.exec.expr.fn.WorkspaceReference-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>assignInjectableValue</h4> |
| <pre>protected void assignInjectableValue(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| com.sun.codemodel.JVar variable, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/WorkspaceReference.html" title="class in org.apache.drill.exec.expr.fn">WorkspaceReference</a> ref)</pre> |
| </li> |
| </ul> |
| <a name="generateBody-org.apache.drill.exec.expr.ClassGenerator-org.apache.drill.exec.expr.ClassGenerator.BlockType-java.lang.String-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>generateBody</h4> |
| <pre>protected void generateBody(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.BlockType.html" title="enum in org.apache.drill.exec.expr">ClassGenerator.BlockType</a> bt, |
| <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> body, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| com.sun.codemodel.JVar[] workspaceJVars, |
| boolean workspaceOnly)</pre> |
| <div class="block">Generate the body of a Drill function by copying the source code of the |
| corresponding function method into the generated output. For this to work, |
| all symbol references must be absolute (they cannot refer to imports), |
| or they must refer to local variables or class fields marked with an |
| annotation. |
| <p> |
| To make this work, the function body is wrapped in a code block that |
| simulates the class fields by declaring local variables of the same |
| name, and assigning those variables based on the input and workspace |
| variables provided. |
| <p> |
| This version is used for blocks other than the main eval block.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>g</code> - code generator</dd> |
| <dd><code>bt</code> - type of the block to be added</dd> |
| <dd><code>body</code> - source code of the block. Optional. Block will be omitted |
| if the method body is null or empty</dd> |
| <dd><code>inputVariables</code> - list of input variable bindings which match up to declared |
| <code>@Param</code> member variables in order. The input variables have the |
| same name as the parameters that they represent</dd> |
| <dd><code>workspaceJVars</code> - list of workspace variables, structures the same as |
| input variables</dd> |
| <dd><code>workspaceOnly</code> - <code>true</code> if this is a setup block and |
| we should declare only constant workspace variables, <code>false</code> to |
| declare all variables</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="addProtectedBlock-org.apache.drill.exec.expr.ClassGenerator-com.sun.codemodel.JBlock-java.lang.String-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-com.sun.codemodel.JVar:A-boolean-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addProtectedBlock</h4> |
| <pre>protected void addProtectedBlock(<a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.html" title="class in org.apache.drill.exec.expr">ClassGenerator</a><?> g, |
| com.sun.codemodel.JBlock sub, |
| <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> body, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables, |
| com.sun.codemodel.JVar[] workspaceJVars, |
| boolean workspaceOnly)</pre> |
| <div class="block">Generate the function block itself, without surrounding comments, and |
| whether or not the method is empty.</div> |
| </li> |
| </ul> |
| <a name="declareVarArgArray-com.sun.codemodel.JCodeModel-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer:A-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>declareVarArgArray</h4> |
| <pre>protected void declareVarArgArray(com.sun.codemodel.JCodeModel model, |
| com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a>[] inputVariables)</pre> |
| <div class="block">Declares array for storing vararg function arguments.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>model</code> - code model to generate the code</dd> |
| <dd><code>jBlock</code> - block of code to be populated</dd> |
| <dd><code>inputVariables</code> - array of input variables for current function</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="declareInputVariable-com.sun.codemodel.JCodeModel-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.ClassGenerator.HoldingContainer-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>declareInputVariable</h4> |
| <pre>protected void declareInputVariable(com.sun.codemodel.JCodeModel model, |
| com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/ClassGenerator.HoldingContainer.html" title="class in org.apache.drill.exec.expr">ClassGenerator.HoldingContainer</a> inputVariable, |
| int currentIndex)</pre> |
| <div class="block">Generate the top part of a function call which simulates passing parameters |
| into the function. Given the following declaration: <code><pre> |
| public static class UnionIsBigInt implements DrillSimpleFunc {</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>model</code> - code model to generate the code</dd> |
| <dd><code>jBlock</code> - block of code to be populated</dd> |
| <dd><code>inputVariable</code> - input variable for current function</dd> |
| <dd><code>currentIndex</code> - index of current parameter</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="declare-com.sun.codemodel.JBlock-org.apache.drill.exec.expr.fn.ValueReference-com.sun.codemodel.JType-com.sun.codemodel.JExpression-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>declare</h4> |
| <pre>protected com.sun.codemodel.JAssignmentTarget declare(com.sun.codemodel.JBlock jBlock, |
| <a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a> parameter, |
| com.sun.codemodel.JType paramClass, |
| com.sun.codemodel.JExpression paramExpression, |
| int currentIndex)</pre> |
| <div class="block">Declares specified <code>paramExpression</code> in specified <code>jBlock</code> |
| and assigns it to the array component if required and / or returns declared expression.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>jBlock</code> - target block where declaration is added</dd> |
| <dd><code>parameter</code> - function parameter which should be declared</dd> |
| <dd><code>paramClass</code> - type of the declared variable</dd> |
| <dd><code>paramExpression</code> - expression to be declared</dd> |
| <dd><code>currentIndex</code> - index of current parameter</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>declared expression</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="matches-org.apache.drill.common.types.TypeProtos.MajorType-java.util.List-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>matches</h4> |
| <pre>public boolean matches(<a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a> returnType, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a>> argTypes)</pre> |
| </li> |
| </ul> |
| <a name="getParamMajorType-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParamMajorType</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a> getParamMajorType(int i)</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/drill/common/expression/fn/FuncHolder.html#getParamMajorType-int-">FuncHolder</a></code></span></div> |
| <div class="block">Drill SQL type of an input parameter.</div> |
| </li> |
| </ul> |
| <a name="getParamCount--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParamCount</h4> |
| <pre>public int getParamCount()</pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../../org/apache/drill/common/expression/fn/FuncHolder.html#getParamCount--">FuncHolder</a></code></span></div> |
| <div class="block">Number of defined input parameters.</div> |
| </li> |
| </ul> |
| <a name="isConstant-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isConstant</h4> |
| <pre>public boolean isConstant(int i)</pre> |
| </li> |
| </ul> |
| <a name="getAttributeParameter-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getAttributeParameter</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a> getAttributeParameter(int i)</pre> |
| <div class="block">Returns i-th function attribute parameter. |
| For the case when current function is vararg and specified index |
| is greater than or equals to the attributes count, the last function attribute parameter is returned.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>i</code> - index of function attribute parameter to be returned</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>i-th function attribute parameter</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isFieldReader-int-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isFieldReader</h4> |
| <pre>public boolean isFieldReader(int i)</pre> |
| </li> |
| </ul> |
| <a name="getReturnType-java.util.List-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getReturnType</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a> getReturnType(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../org/apache/drill/common/expression/LogicalExpression.html" title="interface in org.apache.drill.common.expression">LogicalExpression</a>> logicalExpressions)</pre> |
| </li> |
| </ul> |
| <a name="getOutputWidthCalculator--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getOutputWidthCalculator</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/fn/output/OutputWidthCalculator.html" title="interface in org.apache.drill.exec.expr.fn.output">OutputWidthCalculator</a> getOutputWidthCalculator()</pre> |
| </li> |
| </ul> |
| <a name="variableOutputSizeEstimate--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>variableOutputSizeEstimate</h4> |
| <pre>public int variableOutputSizeEstimate()</pre> |
| </li> |
| </ul> |
| <a name="getNullHandling--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getNullHandling</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/annotations/FunctionTemplate.NullHandling.html" title="enum in org.apache.drill.exec.expr.annotations">FunctionTemplate.NullHandling</a> getNullHandling()</pre> |
| </li> |
| </ul> |
| <a name="getRegisteredNames--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getRegisteredNames</h4> |
| <pre>public <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>[] getRegisteredNames()</pre> |
| </li> |
| </ul> |
| <a name="getCostCategory--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCostCategory</h4> |
| <pre>public int getCostCategory()</pre> |
| </li> |
| </ul> |
| <a name="getParameters--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getParameters</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a>[] getParameters()</pre> |
| </li> |
| </ul> |
| <a name="checkPrecisionRange--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>checkPrecisionRange</h4> |
| <pre>public boolean checkPrecisionRange()</pre> |
| </li> |
| </ul> |
| <a name="getReturnType--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getReturnType</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/common/types/TypeProtos.MajorType.html" title="class in org.apache.drill.common.types">TypeProtos.MajorType</a> getReturnType()</pre> |
| </li> |
| </ul> |
| <a name="getReturnValue--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getReturnValue</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/fn/ValueReference.html" title="class in org.apache.drill.exec.expr.fn">ValueReference</a> getReturnValue()</pre> |
| </li> |
| </ul> |
| <a name="getWorkspaceVars--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getWorkspaceVars</h4> |
| <pre>public <a href="../../../../../../org/apache/drill/exec/expr/fn/WorkspaceReference.html" title="class in org.apache.drill.exec.expr.fn">WorkspaceReference</a>[] getWorkspaceVars()</pre> |
| </li> |
| </ul> |
| <a name="toString--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>toString</h4> |
| <pre>public <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> toString()</pre> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><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></code> in class <code><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></code></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/DrillFuncHolder.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/expr/fn/DrillComplexWriterFuncHolder.html" title="class in org.apache.drill.exec.expr.fn"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../../../../org/apache/drill/exec/expr/fn/DrillSimpleFuncHolder.html" title="class in org.apache.drill.exec.expr.fn"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../../index.html?org/apache/drill/exec/expr/fn/DrillFuncHolder.html" target="_top">Frames</a></li> |
| <li><a href="DrillFuncHolder.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../../allclasses-noframe.html">All 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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </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 © 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |