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.booleanMethods 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()- Specified by:
isComplexWriterFuncHolderin interfaceFuncHolder- Overrides:
isComplexWriterFuncHolderin classAbstractFuncHolder
-
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
-