Package | Description |
---|---|
org.apache.drill.exec.expr |
Drill expression materialization and evaluation facilities.
|
org.apache.drill.exec.expr.fn | |
org.apache.drill.exec.ops | |
org.apache.drill.exec.physical.impl.aggregate | |
org.apache.drill.exec.physical.impl.common | |
org.apache.drill.exec.physical.impl.partitionsender | |
org.apache.drill.exec.physical.impl.xsort | |
org.apache.drill.exec.vector |
Modifier and Type | Method and Description |
---|---|
ClassGenerator<T> |
ClassGenerator.getInnerGenerator(String name) |
ClassGenerator<T> |
CodeGenerator.getRoot() |
static <T> ClassGenerator<T> |
CodeGenerator.getRoot(MappingSet mappingSet,
TemplateClassDefinition<T> definition,
OptionSet optionManager) |
static <T> ClassGenerator<T> |
CodeGenerator.getRoot(TemplateClassDefinition<T> definition,
OptionSet optionManager) |
Modifier and Type | Method and Description |
---|---|
ClassGenerator.HoldingContainer |
EvaluationVisitor.addExpr(LogicalExpression e,
ClassGenerator<?> generator) |
Constructor and Description |
---|
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 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.assignInjectableValue(ClassGenerator<?> g,
com.sun.codemodel.JVar variable,
WorkspaceReference ref) |
protected com.sun.codemodel.JVar[] |
DrillFuncHolder.declareWorkspaceVariables(ClassGenerator<?> g) |
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 |
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.
|
protected ClassGenerator.HoldingContainer |
DrillComplexWriterFuncHolder.generateEvalBody(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
String body,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
ClassGenerator.HoldingContainer |
HiveFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
ClassGenerator.HoldingContainer |
DrillComplexWriterAggFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr) |
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 |
DrillSimpleFuncHolder.renderEnd(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars,
FunctionHolderExpression holderExpr)
Render the various code blocks for a simple function.
|
void |
DrillComplexWriterAggFuncHolder.renderMiddle(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars) |
void |
AbstractFuncHolder.renderMiddle(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
com.sun.codemodel.JVar[] workspaceJVars) |
com.sun.codemodel.JVar[] |
HiveFuncHolder.renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference)
Start generating code
|
com.sun.codemodel.JVar[] |
DrillComplexWriterAggFuncHolder.renderStart(ClassGenerator<?> classGenerator,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
abstract com.sun.codemodel.JVar[] |
AbstractFuncHolder.renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
com.sun.codemodel.JVar[] |
DrillFuncHolder.renderStart(ClassGenerator<?> g,
ClassGenerator.HoldingContainer[] inputVariables,
FieldReference fieldReference) |
Modifier and Type | Method and Description |
---|---|
<T> T |
BaseFragmentContext.getImplementationClass(ClassGenerator<T> cg) |
<T> T |
FragmentContext.getImplementationClass(ClassGenerator<T> cg)
Generates code for a class given a
ClassGenerator ,
and returns a single instance of the generated class. |
<T> T |
FragmentContextInterface.getImplementationClass(ClassGenerator<T> cg)
Generates code for a class given a
ClassGenerator ,
and returns a single instance of the generated class. |
<T> List<T> |
BaseFragmentContext.getImplementationClass(ClassGenerator<T> cg,
int instanceCount) |
<T> List<T> |
FragmentContext.getImplementationClass(ClassGenerator<T> cg,
int instanceCount)
Generates code for a class given a
ClassGenerator , and returns the
specified number of instances of the generated class. |
<T> List<T> |
FragmentContextInterface.getImplementationClass(ClassGenerator<T> cg,
int instanceCount)
Generates code for a class given a
ClassGenerator , and returns the
specified number of instances of the generated class. |
Modifier and Type | Field and Description |
---|---|
protected ClassGenerator<?> |
HashAggTemplate.cg |
Modifier and Type | Method and Description |
---|---|
protected void |
StreamingAggBatch.addRecordValues(ClassGenerator<StreamingAggregator> cg,
LogicalExpression[] valueExprs) |
protected void |
StreamingAggBatch.getIndex(ClassGenerator<StreamingAggregator> g) |
protected void |
StreamingAggBatch.outputRecordKeys(ClassGenerator<StreamingAggregator> cg,
TypedFieldId[] keyOutputIds,
LogicalExpression[] keyExprs) |
protected void |
StreamingAggBatch.outputRecordKeysPrev(ClassGenerator<StreamingAggregator> cg,
TypedFieldId[] keyOutputIds,
LogicalExpression[] keyExprs) |
void |
HashAggTemplate.setup(HashAggregate hashAggrConfig,
HashTableConfig htConfig,
FragmentContext context,
OperatorContext oContext,
RecordBatch incoming,
HashAggBatch outgoing,
LogicalExpression[] valueExprs,
List<TypedFieldId> valueFieldIds,
ClassGenerator<?> cg,
TypedFieldId[] groupByOutFieldIds,
VectorContainer outContainer,
int extraRowBytes) |
void |
HashAggregator.setup(HashAggregate hashAggrConfig,
HashTableConfig htConfig,
FragmentContext context,
OperatorContext oContext,
RecordBatch incoming,
HashAggBatch outgoing,
LogicalExpression[] valueExprs,
List<TypedFieldId> valueFieldIds,
ClassGenerator<?> cg,
TypedFieldId[] keyFieldIds,
VectorContainer outContainer,
int extraRowBytes) |
protected void |
StreamingAggBatch.setupIsSame(ClassGenerator<StreamingAggregator> cg,
LogicalExpression[] keyExprs) |
protected void |
StreamingAggBatch.setupIsSameApart(ClassGenerator<StreamingAggregator> cg,
LogicalExpression[] keyExprs) |
Modifier and Type | Field and Description |
---|---|
protected ClassGenerator<?> |
HashTableTemplate.cg |
Modifier and Type | Field and Description |
---|---|
protected ClassGenerator<?> |
PartitionerTemplate.cg |
Modifier and Type | Method and Description |
---|---|
void |
PartitionerTemplate.setup(ExchangeFragmentContext context,
RecordBatch incoming,
HashPartitionSender popConfig,
OperatorStats stats,
OperatorContext oContext,
ClassGenerator<?> cg,
int start,
int end) |
void |
Partitioner.setup(ExchangeFragmentContext context,
RecordBatch incoming,
HashPartitionSender popConfig,
OperatorStats stats,
OperatorContext oContext,
ClassGenerator<?> cg,
int start,
int count) |
Modifier and Type | Method and Description |
---|---|
protected void |
BaseSortWrapper.generateComparisons(ClassGenerator<?> g,
VectorAccessible batch,
org.slf4j.Logger logger) |
Modifier and Type | Method and Description |
---|---|
static void |
CopyUtil.generateCopies(ClassGenerator<?> g,
VectorAccessible batch,
boolean hyper) |
Copyright © 2021 The Apache Software Foundation. All rights reserved.