Package org.apache.drill.exec.expr.fn
Class DrillComplexWriterFuncHolder
java.lang.Object
org.apache.drill.exec.expr.fn.AbstractFuncHolder
org.apache.drill.exec.expr.fn.DrillFuncHolder
org.apache.drill.exec.expr.fn.DrillSimpleFuncHolder
org.apache.drill.exec.expr.fn.DrillComplexWriterFuncHolder
- All Implemented Interfaces:
FuncHolder
-
Constructor Summary
ConstructorsConstructorDescriptionDrillComplexWriterFuncHolder(FunctionAttributes functionAttributes, FunctionInitializer initializer) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckNullHandling(FunctionTemplate.NullHandling nullHandling) Check if function type supports provided null handling strategy.protected ClassGenerator.HoldingContainergenerateEvalBody(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, String body, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr) Generate the eval block for a simple function, including the null-handling wrapper, if requested.booleanChecks that the current function holder stores output value using field writer instead of vector holder.Methods inherited from class org.apache.drill.exec.expr.fn.DrillSimpleFuncHolder
createInterpreter, isNested, renderEndMethods inherited from class org.apache.drill.exec.expr.fn.DrillFuncHolder
addProtectedBlock, assignInjectableValue, checkPrecisionRange, declare, declareInputVariable, declareVarArgArray, declareWorkspaceVariables, generateBody, getAttributeParameter, getClassLoader, getCostCategory, getExpr, getInputParameters, getNullHandling, getOutputWidthCalculator, getParamCount, getParameters, getParamMajorType, getRegisteredNames, getReturnType, getReturnType, getReturnValue, getWorkspaceVars, isAggregating, isConstant, isDeterministic, isFieldReader, isInternal, isNiladic, isVarArg, matches, meth, meth, renderStart, toString, variableOutputSizeEstimateMethods inherited from class org.apache.drill.exec.expr.fn.AbstractFuncHolder
renderMiddle
-
Constructor Details
-
DrillComplexWriterFuncHolder
public DrillComplexWriterFuncHolder(FunctionAttributes functionAttributes, FunctionInitializer initializer)
-
-
Method Details
-
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- Overrides:
isComplexWriterFuncHolderin classAbstractFuncHolder- Returns:
- true if current function holder uses field writer to store the output value
-
generateEvalBody
protected ClassGenerator.HoldingContainer generateEvalBody(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, String body, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr) Description copied from class:DrillSimpleFuncHolderGenerate the eval block for a simple function, including the null-handling wrapper, if requested.- Overrides:
generateEvalBodyin classDrillSimpleFuncHolder
-
checkNullHandling
Description copied from class:DrillFuncHolderCheck if function type supports provided null handling strategy.Keep in mind that this method is invoked in
DrillFuncHolder(FunctionAttributes, FunctionInitializer)constructor so make sure not to use any state fields when overriding the method to avoid uninitialized state.- Overrides:
checkNullHandlingin classDrillFuncHolder- Parameters:
nullHandling- null handling strategy defined for a function
-