Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
com.cloudera.impala.planner.AnalyticPlanner.WindowGroup Class Reference
Collaboration diagram for com.cloudera.impala.planner.AnalyticPlanner.WindowGroup:

Public Member Functions

 WindowGroup (AnalyticExpr analyticExpr, SlotDescriptor logicalOutputSlot, SlotDescriptor logicalIntermediateSlot)
 
boolean isCompatible (AnalyticExpr analyticExpr)
 
void add (AnalyticExpr analyticExpr, SlotDescriptor logicalOutputSlot, SlotDescriptor logicalIntermediateSlot)
 
void init (Analyzer analyzer, String tupleName)
 

Public Attributes

final List< ExprpartitionByExprs
 
final List< OrderByElementorderByElements
 
final AnalyticWindow window
 
final List< AnalyticExpranalyticExprs = Lists.newArrayList()
 
final List< ExpranalyticFnCalls = Lists.newArrayList()
 
final List< SlotDescriptorlogicalOutputSlots = Lists.newArrayList()
 
final List< SlotDescriptorlogicalIntermediateSlots = Lists.newArrayList()
 
TupleDescriptor physicalOutputTuple
 
TupleDescriptor physicalIntermediateTuple
 
final ExprSubstitutionMap logicalToPhysicalSmap = new ExprSubstitutionMap()
 

Static Private Member Functions

static boolean requiresIndependentEval (AnalyticExpr analyticExpr)
 

Detailed Description

Collection of AnalyticExprs that share the same partition-by/order-by/window specification. The AnalyticExprs are stored broken up into their constituent parts.

Definition at line 481 of file AnalyticPlanner.java.

Constructor & Destructor Documentation

com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.WindowGroup ( AnalyticExpr  analyticExpr,
SlotDescriptor  logicalOutputSlot,
SlotDescriptor  logicalIntermediateSlot 
)
inline

Member Function Documentation

void com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.add ( AnalyticExpr  analyticExpr,
SlotDescriptor  logicalOutputSlot,
SlotDescriptor  logicalIntermediateSlot 
)
inline

Adds the given analytic expr and its logical slots to this window group. Assumes the corresponding analyticExpr is compatible with 'this'.

Definition at line 544 of file AnalyticPlanner.java.

References com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.isCompatible().

void com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.init ( Analyzer  analyzer,
String  tupleName 
)
inline
static boolean com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.requiresIndependentEval ( AnalyticExpr  analyticExpr)
inlinestaticprivate

True if this analytic function must be evaluated in its own WindowGroup.

Definition at line 516 of file AnalyticPlanner.java.

References com.cloudera.impala.analysis.AnalyticExpr.FIRST_VALUE_REWRITE.

Referenced by com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.isCompatible().

Member Data Documentation

final List<AnalyticExpr> com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.analyticExprs = Lists.newArrayList()
final List<Expr> com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.analyticFnCalls = Lists.newArrayList()
final List<SlotDescriptor> com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.logicalIntermediateSlots = Lists.newArrayList()
final List<SlotDescriptor> com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.logicalOutputSlots = Lists.newArrayList()
final ExprSubstitutionMap com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.logicalToPhysicalSmap = new ExprSubstitutionMap()
TupleDescriptor com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.physicalIntermediateTuple
final AnalyticWindow com.cloudera.impala.planner.AnalyticPlanner.WindowGroup.window

The documentation for this class was generated from the following file: