Class CatalogManagerCalciteSchema

java.lang.Object
org.apache.flink.table.planner.catalog.FlinkSchema
org.apache.flink.table.planner.catalog.CatalogManagerCalciteSchema
All Implemented Interfaces:
org.apache.calcite.schema.Schema

@Internal public class CatalogManagerCalciteSchema extends FlinkSchema
Bridge between the CatalogManager and the Schema. This way we can query Flink's specific catalogs from Calcite.

The mapping for Catalogs is modeled as a strict two-level reference structure for Flink in Calcite, the full path of objects is of format [catalog_name].[db_name].[meta-object_name].

  • Constructor Details

    • CatalogManagerCalciteSchema

      public CatalogManagerCalciteSchema(org.apache.flink.table.catalog.CatalogManager catalogManager, boolean isStreamingMode)
  • Method Details

    • getTable

      public org.apache.calcite.schema.Table getTable(String name)
    • getTableNames

      public Set<String> getTableNames()
    • getSubSchema

      public org.apache.calcite.schema.Schema getSubSchema(String name)
    • getSubSchemaNames

      public Set<String> getSubSchemaNames()
    • getExpression

      public org.apache.calcite.linq4j.tree.Expression getExpression(org.apache.calcite.schema.SchemaPlus parentSchema, String name)
    • isMutable

      public boolean isMutable()
    • copy

      public FlinkSchema copy()
      Specified by:
      copy in class FlinkSchema