Package org.apache.drill.exec.expr.fn
Class AbstractFuncHolder
java.lang.Object
org.apache.drill.exec.expr.fn.AbstractFuncHolder
- All Implemented Interfaces:
FuncHolder
- Direct Known Subclasses:
DrillFuncHolder,HiveFuncHolder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks that the current function holder stores output value using field writer instead of vector holder.booleanisNested()abstract ClassGenerator.HoldingContainerrenderEnd(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr) Generate methods body and complete the code generation.voidrenderMiddle(ClassGenerator<?> g, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars) abstract com.sun.codemodel.JVar[]renderStart(ClassGenerator<?> g, ClassGenerator.HoldingContainer[] inputVariables, FieldReference fieldReference) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.drill.common.expression.fn.FuncHolder
getExpr, getParamCount, getParamMajorType
-
Constructor Details
-
AbstractFuncHolder
public AbstractFuncHolder()
-
-
Method Details
-
renderStart
public abstract com.sun.codemodel.JVar[] renderStart(ClassGenerator<?> g, ClassGenerator.HoldingContainer[] inputVariables, FieldReference fieldReference) -
renderMiddle
public void renderMiddle(ClassGenerator<?> g, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars) -
renderEnd
public abstract ClassGenerator.HoldingContainer renderEnd(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr) Generate methods body and complete the code generation.- Parameters:
classGenerator- the class responsible for code generationinputVariables- the source of the vector holdersworkspaceJVars- class fieldsholderExpr- holder for the function expression- Returns:
- HoldingContainer for return value
-
isNested
public boolean isNested()- Specified by:
isNestedin interfaceFuncHolder
-
isComplexWriterFuncHolder
public boolean isComplexWriterFuncHolder()Description copied from interface:FuncHolderChecks that the current function holder stores output value using field writer instead of vector holder.- Specified by:
isComplexWriterFuncHolderin interfaceFuncHolder- Returns:
- true if current function holder uses field writer to store the output value
-