Class EnumerableInterpreter

java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.SingleRel
org.apache.calcite.adapter.enumerable.EnumerableInterpreter
All Implemented Interfaces:
Cloneable, EnumerableRel, RelOptNode, PhysicalNode, RelNode

public class EnumerableInterpreter extends SingleRel implements EnumerableRel
Relational expression that executes its children using an interpreter.

Although quite a few kinds of RelNode can be interpreted, this is only created by default for FilterableTable and ProjectableFilterableTable.

  • Constructor Details

  • Method Details

    • create

      public static EnumerableInterpreter create(RelNode input, double factor)
      Creates an EnumerableInterpreter.
      Parameters:
      input - Input relation
      factor - Cost multiply factor
    • computeSelfCost

      public @Nullable RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
      Description copied from interface: RelNode
      Returns the cost of this plan (not including children). The base implementation throws an error; derived classes should override.

      NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode), which gives plugins a chance to override the rel's default ideas about cost.

      Specified by:
      computeSelfCost in interface RelNode
      Overrides:
      computeSelfCost in class AbstractRelNode
      Parameters:
      planner - Planner for cost calculation
      mq - Metadata query
      Returns:
      Cost of this plan (not including children)
    • copy

      public RelNode copy(RelTraitSet traitSet, List<RelNode> inputs)
      Description copied from interface: RelNode
      Creates a copy of this relational expression, perhaps changing traits and inputs.

      Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.

      Specified by:
      copy in interface RelNode
      Overrides:
      copy in class AbstractRelNode
      Parameters:
      traitSet - Trait set
      inputs - Inputs
      Returns:
      Copy of this relational expression, substituting traits and inputs
    • implement

      Description copied from interface: EnumerableRel
      Creates a plan for this expression according to a calling convention.
      Specified by:
      implement in interface EnumerableRel
      Parameters:
      implementor - Implementor
      pref - Preferred representation for rows in result expression
      Returns:
      Plan for this expression according to a calling convention