Class EnumerableCombine

All Implemented Interfaces:
Cloneable, EnumerableRel, RelOptNode, PhysicalNode, RelNode

public class EnumerableCombine extends Combine implements EnumerableRel
Implementation of Combine in enumerable calling convention.

The output format is a wide table where each column corresponds to a query (named QUERY_0, QUERY_1, etc.) and each row contains a struct (map) with that query's column values for that row index. The number of output rows equals the maximum row count across all input queries. Queries with fewer rows have null values for the additional rows.

Example output for two queries:

 QUERY_0                  | QUERY_1
 ------------------------ | ------------------------
 {empno=100, name=Bill}   | {deptno=10, name=Sales}
 {empno=110, name=Eric}   | {deptno=20, name=HR}
 {empno=120, name=Ted}    | null
 
  • Constructor Details

  • Method Details

    • copy

      public EnumerableCombine 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 Combine
      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