org.apache.hadoop.hive.ql.optimizer.optiq.reloperators
Class HiveProjectRel

java.lang.Object
  extended by org.eigenbase.rel.AbstractRelNode
      extended by org.eigenbase.rel.SingleRel
          extended by org.eigenbase.rel.ProjectRelBase
              extended by org.apache.hadoop.hive.ql.optimizer.optiq.reloperators.HiveProjectRel
All Implemented Interfaces:
Cloneable, HiveRel, org.eigenbase.rel.RelNode, org.eigenbase.relopt.RelOptNode

public class HiveProjectRel
extends org.eigenbase.rel.ProjectRelBase
implements HiveRel


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eigenbase.rel.ProjectRelBase
org.eigenbase.rel.ProjectRelBase.Flags
 
Nested classes/interfaces inherited from interface org.apache.hadoop.hive.ql.optimizer.optiq.reloperators.HiveRel
HiveRel.Implementor
 
Field Summary
static org.eigenbase.rel.RelFactories.ProjectFactory DEFAULT_PROJECT_FACTORY
           
 
Fields inherited from interface org.apache.hadoop.hive.ql.optimizer.optiq.reloperators.HiveRel
CONVENTION
 
Constructor Summary
HiveProjectRel(org.eigenbase.relopt.RelOptCluster cluster, org.eigenbase.relopt.RelTraitSet traitSet, org.eigenbase.rel.RelNode child, List<org.eigenbase.rex.RexNode> exps, org.eigenbase.reltype.RelDataType rowType, int flags)
          Creates a HiveProjectRel.
 
Method Summary
 org.eigenbase.relopt.RelOptCost computeSelfCost(org.eigenbase.relopt.RelOptPlanner planner)
           
 org.eigenbase.rel.ProjectRelBase copy(org.eigenbase.relopt.RelTraitSet traitSet, org.eigenbase.rel.RelNode input, List<org.eigenbase.rex.RexNode> exps, org.eigenbase.reltype.RelDataType rowType)
           
static HiveProjectRel create(org.eigenbase.rel.RelNode child, List<org.eigenbase.rex.RexNode> exps, List<String> fieldNames)
          Creates a HiveProjectRel with no sort keys.
static HiveProjectRel create(org.eigenbase.relopt.RelOptCluster cluster, org.eigenbase.rel.RelNode child, List<org.eigenbase.rex.RexNode> exps, org.eigenbase.reltype.RelDataType rowType, List<org.eigenbase.rel.RelCollation> collationList)
          Creates a HiveProjectRel.
 List<Integer> getVirtualCols()
           
 void implement(HiveRel.Implementor implementor)
           
 
Methods inherited from class org.eigenbase.rel.ProjectRelBase
copy, explainTerms, getChildExps, getCollationList, getFlags, getNamedProjects, getProjects, isBoxed, isValid
 
Methods inherited from class org.eigenbase.rel.SingleRel
childrenAccept, getChild, getInputs, getRows, replaceInput
 
Methods inherited from class org.eigenbase.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesStopped, isDistinct, isKey, metadata, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eigenbase.rel.RelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable
 
Methods inherited from interface org.eigenbase.relopt.RelOptNode
getCluster, getDescription, getDigest, getId, getTraitSet
 

Field Detail

DEFAULT_PROJECT_FACTORY

public static final org.eigenbase.rel.RelFactories.ProjectFactory DEFAULT_PROJECT_FACTORY
Constructor Detail

HiveProjectRel

public HiveProjectRel(org.eigenbase.relopt.RelOptCluster cluster,
                      org.eigenbase.relopt.RelTraitSet traitSet,
                      org.eigenbase.rel.RelNode child,
                      List<org.eigenbase.rex.RexNode> exps,
                      org.eigenbase.reltype.RelDataType rowType,
                      int flags)
Creates a HiveProjectRel.

Parameters:
cluster - Cluster this relational expression belongs to
child - input relational expression
exps - List of expressions for the input columns
rowType - output row type
flags - values as in ProjectRelBase.Flags
Method Detail

create

public static HiveProjectRel create(org.eigenbase.rel.RelNode child,
                                    List<org.eigenbase.rex.RexNode> exps,
                                    List<String> fieldNames)
Creates a HiveProjectRel with no sort keys.

Parameters:
child - input relational expression
exps - set of expressions for the input columns
fieldNames - aliases of the expressions

create

public static HiveProjectRel create(org.eigenbase.relopt.RelOptCluster cluster,
                                    org.eigenbase.rel.RelNode child,
                                    List<org.eigenbase.rex.RexNode> exps,
                                    org.eigenbase.reltype.RelDataType rowType,
                                    List<org.eigenbase.rel.RelCollation> collationList)
Creates a HiveProjectRel.


copy

public org.eigenbase.rel.ProjectRelBase copy(org.eigenbase.relopt.RelTraitSet traitSet,
                                             org.eigenbase.rel.RelNode input,
                                             List<org.eigenbase.rex.RexNode> exps,
                                             org.eigenbase.reltype.RelDataType rowType)
Specified by:
copy in class org.eigenbase.rel.ProjectRelBase

computeSelfCost

public org.eigenbase.relopt.RelOptCost computeSelfCost(org.eigenbase.relopt.RelOptPlanner planner)
Specified by:
computeSelfCost in interface org.eigenbase.rel.RelNode
Overrides:
computeSelfCost in class org.eigenbase.rel.ProjectRelBase

implement

public void implement(HiveRel.Implementor implementor)
Specified by:
implement in interface HiveRel

getVirtualCols

public List<Integer> getVirtualCols()


Copyright © 2014 The Apache Software Foundation. All rights reserved.