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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks that the current function holder stores output value using field writer instead of vector holder.boolean
isNested()
abstract ClassGenerator.HoldingContainer
renderEnd
(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr) Generate methods body and complete the code generation.void
renderMiddle
(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, wait
Methods 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:
isNested
in interfaceFuncHolder
-
isComplexWriterFuncHolder
public boolean isComplexWriterFuncHolder()Description copied from interface:FuncHolder
Checks that the current function holder stores output value using field writer instead of vector holder.- Specified by:
isComplexWriterFuncHolder
in interfaceFuncHolder
- Returns:
- true if current function holder uses field writer to store the output value
-