Class ExpandingPreparingTable

java.lang.Object
org.apache.calcite.prepare.Prepare.AbstractPreparingTable
org.apache.flink.table.planner.plan.schema.FlinkPreparingTableBase
org.apache.flink.table.planner.plan.schema.ExpandingPreparingTable
All Implemented Interfaces:
org.apache.calcite.plan.RelOptTable, org.apache.calcite.prepare.Prepare.PreparingTable, org.apache.calcite.schema.Wrapper, org.apache.calcite.sql.validate.SqlValidatorTable
Direct Known Subclasses:
QueryOperationCatalogViewTable, SqlCatalogViewTable

public abstract class ExpandingPreparingTable extends FlinkPreparingTableBase
A common subclass for all tables that are expanded to sub-query (views). It handles recursive expanding of sub-views automatically.
  • Constructor Details

    • ExpandingPreparingTable

      protected ExpandingPreparingTable(@Nullable org.apache.calcite.plan.RelOptSchema relOptSchema, org.apache.calcite.rel.type.RelDataType rowType, Iterable<String> names, FlinkStatistic statistic)
  • Method Details

    • convertToRel

      protected abstract org.apache.calcite.rel.RelNode convertToRel(org.apache.calcite.plan.RelOptTable.ToRelContext context)
      Converts the table to a RelNode. Does not need to expand any nested scans of an ExpandingPreparingTable. Those will be expanded recursively.
      Returns:
      a relational tree
    • toRel

      public final org.apache.calcite.rel.RelNode toRel(org.apache.calcite.plan.RelOptTable.ToRelContext context)
      Specified by:
      toRel in interface org.apache.calcite.plan.RelOptTable
      Overrides:
      toRel in class FlinkPreparingTableBase