Class 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 Detail

      • ExpandingPreparingTable

        protected ExpandingPreparingTable​(@Nullable
                                          org.apache.calcite.plan.RelOptSchema relOptSchema,
                                          org.apache.calcite.rel.type.RelDataType rowType,
                                          Iterable<String> names,
                                          org.apache.flink.table.planner.plan.stats.FlinkStatistic statistic)
    • Method Detail

      • 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