| Package | Description |
|---|---|
| org.apache.drill.exec.expr |
Drill expression materialization and evaluation facilities.
|
| org.apache.drill.exec.expr.fn |
| Modifier and Type | Class and Description |
|---|---|
static class |
EvaluationVisitor.VectorVariableHolder
Extended variable descriptor ("holding container") for the variable
which references the value holder ("FooHolder") that stores the value
from a value vector.
|
| Modifier and Type | Field and Description |
|---|---|
Map<org.apache.drill.exec.expr.EvaluationVisitor.ExpressionHolder,ClassGenerator.HoldingContainer> |
EvaluationVisitor.previousExpressions |
| Modifier and Type | Method and Description |
|---|---|
ClassGenerator.HoldingContainer |
ClassGenerator.addExpr(LogicalExpression ex) |
ClassGenerator.HoldingContainer |
ClassGenerator.addExpr(LogicalExpression ex,
ClassGenerator.BlkCreateMode mode) |
ClassGenerator.HoldingContainer |
EvaluationVisitor.addExpr(LogicalExpression e,
ClassGenerator<?> generator) |
ClassGenerator.HoldingContainer |
ClassGenerator.declare(TypeProtos.MajorType t) |
ClassGenerator.HoldingContainer |
ClassGenerator.declare(TypeProtos.MajorType t,
boolean includeNewInstance) |
ClassGenerator.HoldingContainer |
ClassGenerator.declare(TypeProtos.MajorType t,
String name,
boolean includeNewInstance)
Adds a local variable declaration based on given name and type.
|
ClassGenerator.HoldingContainer |
HoldingContainerExpression.getContainer() |
ClassGenerator.HoldingContainer |
ClassGenerator.HoldingContainer.setConstant(boolean isConstant) |
| Modifier and Type | Method and Description |
|---|---|
static void |
GetSetVectorHelper.read(TypeProtos.MajorType type,
com.sun.codemodel.JExpression vector,
com.sun.codemodel.JBlock eval,
ClassGenerator.HoldingContainer out,
com.sun.codemodel.JCodeModel model,
com.sun.codemodel.JExpression indexVariable)
Generates the code to read a vector into a holder.
|
static com.sun.codemodel.JInvocation |
GetSetVectorHelper.write(TypeProtos.MajorType type,
com.sun.codemodel.JVar vector,
ClassGenerator.HoldingContainer in,
com.sun.codemodel.JExpression indexVariable,
String setMethodName) |
| Constructor and Description |
|---|
HoldingContainer(ClassGenerator.HoldingContainer from) |
HoldingContainerExpression(ClassGenerator.HoldingContainer container) |
VectorVariableHolder(ClassGenerator.HoldingContainer base,
ClassGenerator<?> classGen,
com.sun.codemodel.JBlock vvSetupBlock,
com.sun.codemodel.JExpression vectorExpr,
com.sun.codemodel.JExpression recordIndex) |
| Modifier and Type | Method and Description |
|---|---|
protected ClassGenerator.HoldingContainer |
DrillComplexWriterFuncHolder.generateEvalBody(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
String body,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
protected ClassGenerator.HoldingContainer |
DrillSimpleFuncHolder.generateEvalBody(ClassGenerator<?> g,
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.
|
abstract ClassGenerator.HoldingContainer |
AbstractFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Generate methods body and complete the code generation.
|
ClassGenerator.HoldingContainer |
DrillComplexWriterAggFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
ClassGenerator.HoldingContainer |
DrillSimpleFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Render the various code blocks for a simple function.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
DrillFuncHolder.addProtectedBlock(ClassGenerator<?> g,
com.sun.codemodel.JBlock sub,
String body,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
boolean workspaceOnly)
Generate the function block itself, without surrounding comments, and
whether or not the method is empty.
|
protected void |
DrillFuncHolder.declareInputVariable(com.sun.codemodel.JCodeModel model,
com.sun.codemodel.JBlock jBlock,
ClassGenerator.HoldingContainer inputVariable,
int currentIndex)
Generate the top part of a function call which simulates passing parameters
into the function.
|
protected void |
DrillFuncHolder.declareVarArgArray(com.sun.codemodel.JCodeModel model,
com.sun.codemodel.JBlock jBlock,
ClassGenerator.HoldingContainer[] inputVariables)
Declares array for storing vararg function arguments.
|
protected void |
DrillFuncHolder.generateBody(ClassGenerator<?> g,
ClassGenerator.BlockType bt,
String body,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
boolean workspaceOnly)
Generate the body of a Drill function by copying the source code of the
corresponding function method into the generated output.
|
protected ClassGenerator.HoldingContainer |
DrillComplexWriterFuncHolder.generateEvalBody(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
String body,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
protected ClassGenerator.HoldingContainer |
DrillSimpleFuncHolder.generateEvalBody(ClassGenerator<?> g,
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.
|
static LogicalExpression |
FunctionGenerationHelper.getOrderingComparator(boolean null_high,
ClassGenerator.HoldingContainer left,
ClassGenerator.HoldingContainer right,
FunctionLookupContext functionLookupContext)
Finds ordering comparator ("compare_to...") FunctionHolderExpression with
a specified ordering for NULL (and considering NULLS equal).
|
static LogicalExpression |
FunctionGenerationHelper.getOrderingComparatorNullsHigh(ClassGenerator.HoldingContainer left,
ClassGenerator.HoldingContainer right,
FunctionLookupContext registry)
Finds ordering comparator ("compare_to...") FunctionHolderExpression with
a "NULL high" ordering (and considering NULLS equal).
|
abstract ClassGenerator.HoldingContainer |
AbstractFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Generate methods body and complete the code generation.
|
ClassGenerator.HoldingContainer |
DrillComplexWriterAggFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
ClassGenerator.HoldingContainer |
DrillSimpleFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Render the various code blocks for a simple function.
|
void |
AbstractFuncHolder.renderMiddle(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars) |
void |
DrillComplexWriterAggFuncHolder.renderMiddle(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars) |
abstract com.sun.codemodel.JVar[] |
AbstractFuncHolder.renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
com.sun.codemodel.JVar[] |
DrillComplexWriterAggFuncHolder.renderStart(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
com.sun.codemodel.JVar[] |
DrillFuncHolder.renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
Copyright © 2022 The Apache Software Foundation. All rights reserved.