Class RepeatUnion

All Implemented Interfaces:
Cloneable, RelOptNode, RelNode
Direct Known Subclasses:
EnumerableRepeatUnion, LogicalRepeatUnion

public abstract class RepeatUnion extends BiRel
Relational expression that computes a repeat union (recursive union in SQL terminology).

This operation is executed as follows:

  • Evaluate the left input (i.e., seed relational expression) once. For UNION (but not UNION ALL), discard duplicated rows.
  • Evaluate the right input (i.e., iterative relational expression) over and over until it produces no more results (or until an optional maximum number of iterations is reached). For UNION (but not UNION ALL), discard duplicated results.

NOTE: The current API is experimental and subject to change without notice.

  • Field Details

    • all

      public final boolean all
      Whether duplicates are considered.
    • iterationLimit

      public final int iterationLimit
      Maximum number of times to repeat the iterative relational expression; negative value means no limit, 0 means only seed will be evaluated.
    • transientTable

      protected final @Nullable RelOptTable transientTable
      Transient table where repeat union's intermediate results will be stored (optional).
  • Constructor Details

  • Method Details