public class DrillComplexWriterAggFuncHolder extends DrillFuncHolder
| Constructor and Description |
|---|
DrillComplexWriterAggFuncHolder(FunctionAttributes functionAttributes,
FunctionInitializer initializer) |
| Modifier and Type | Method and Description |
|---|---|
protected String |
add() |
protected void |
addProtectedBlock(ClassGenerator<?> g,
com.sun.codemodel.JBlock sub,
String body,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
boolean decConstantInputOnly)
Generate the function block itself, without surrounding comments, and
whether or not the method is empty.
|
protected void |
checkNullHandling(FunctionTemplate.NullHandling nullHandling)
Check if function type supports provided null handling strategy.
|
protected String |
cleanup() |
boolean |
isAggregating() |
boolean |
isComplexWriterFuncHolder()
Checks that the current function holder stores output value
using field writer instead of vector holder.
|
boolean |
isNested() |
protected String |
output() |
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<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars) |
com.sun.codemodel.JVar[] |
renderStart(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
protected String |
reset() |
protected String |
setup() |
assignInjectableValue, checkPrecisionRange, declare, declareInputVariable, declareVarArgArray, declareWorkspaceVariables, generateBody, getAttributeParameter, getClassLoader, getCostCategory, getExpr, getInputParameters, getNullHandling, getOutputWidthCalculator, getParamCount, getParameters, getParamMajorType, getRegisteredNames, getReturnType, getReturnType, getReturnValue, getWorkspaceVars, isConstant, isDeterministic, isFieldReader, isInternal, isNiladic, isVarArg, matches, meth, meth, toString, variableOutputSizeEstimatepublic DrillComplexWriterAggFuncHolder(FunctionAttributes functionAttributes, FunctionInitializer initializer)
public boolean isComplexWriterFuncHolder()
FuncHolderisComplexWriterFuncHolder in interface FuncHolderisComplexWriterFuncHolder in class AbstractFuncHolderpublic com.sun.codemodel.JVar[] renderStart(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, FieldReference fieldReference)
public void renderMiddle(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars)
public ClassGenerator.HoldingContainer renderEnd(ClassGenerator<?> classGenerator, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, FunctionHolderExpression holderExpr)
AbstractFuncHolderclassGenerator - the class responsible for code generationinputVariables - the source of the vector holdersworkspaceJVars - class fieldsholderExpr - holder for the function expressionprotected String setup()
protected String reset()
protected String add()
protected String output()
protected String cleanup()
public boolean isNested()
isNested in interface FuncHolderisNested in class AbstractFuncHolderpublic boolean isAggregating()
isAggregating in class DrillFuncHolderprotected void addProtectedBlock(ClassGenerator<?> g, com.sun.codemodel.JBlock sub, String body, ClassGenerator.HoldingContainer[] inputVariables, com.sun.codemodel.JVar[] workspaceJVars, boolean decConstantInputOnly)
DrillFuncHolderaddProtectedBlock in class DrillFuncHolderprotected void checkNullHandling(FunctionTemplate.NullHandling nullHandling)
DrillFuncHolder
Keep in mind that this method is invoked in
DrillFuncHolder.DrillFuncHolder(FunctionAttributes, FunctionInitializer)
constructor so make sure not to use any state fields when overriding the
method to avoid uninitialized state.
checkNullHandling in class DrillFuncHoldernullHandling - null handling strategy defined for a functionCopyright © 2021 The Apache Software Foundation. All rights reserved.