Class BeamSystemSchema

java.lang.Object
org.apache.beam.sdk.extensions.sql.impl.BeamSystemSchema
All Implemented Interfaces:
org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema

public class BeamSystemSchema extends Object implements org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
A Calcite Schema specialized for displaying the session's metadata. Top node that manages requests to SHOW CATALOGS, DATABASES, and TABLES. Used by CatalogManagerSchema.

SHOW requests are treated as aliases, listed below:

  • SHOW CURRENT CATALOG --> SELECT * FROM `beamsystem`.`__current_catalog__`
  • SHOW CATALOGS --> SELECT * FROM `beamsystem`.`catalogs`
  • SHOW CATALOGS LIKE '{pattern}' --> SELECT * FROM `beamsystem`.`catalogs` WHERE NAME LIKE '{pattern}'
  • SHOW CURRENT DATABASE --> SELECT * FROM `beamsystem`.`__current_database__`
  • SHOW DATABASES --> SELECT * FROM `beamsystem`.`databases`.`__current_catalog__`
  • SHOW DATABASES FROM my_catalog --> SELECT * FROM `beamsystem`.`databases`.`my_catalog`
  • SHOW DATABASES FROM my_catalog LIKE '{pattern}' --> SELECT * FROM `beamsystem`.`databases`.`my_catalog` WHERE NAME LIKE '{pattern}'
  • SHOW TABLES --> SELECT * FROM `beamsystem`.`tables`.`__current_catalog__`.`__current_database__`
  • SHOW TABLES FROM my_db --> SELECT * FROM `beamsystem`.`tables`.`__current_catalog__`.`my_db`
  • SHOW TABLES FROM my_catalog.my_db --> SELECT * FROM `beamsystem`.`tables`.`my_catalog`.`my_db`
  • SHOW TABLES FROM my_catalog.my_db LIKE '{pattern}' --> SELECT * FROM `beamsystem`.`tables`.`my_catalog`.`my_db` WHERE NAME LIKE '{pattern}'
  • Field Details

  • Method Details

    • getTable

      public @Nullable org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Table getTable(String table)
      Specified by:
      getTable in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getTableNames

      public Set<String> getTableNames()
      Specified by:
      getTableNames in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getSubSchema

      public @Nullable org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema getSubSchema(@Nullable String name)
      Specified by:
      getSubSchema in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getSubSchemaNames

      public Set<String> getSubSchemaNames()
      Specified by:
      getSubSchemaNames in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getTypeNames

      public Set<String> getTypeNames()
      Specified by:
      getTypeNames in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getType

      public @Nullable org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.rel.type.RelProtoDataType getType(String s)
      Specified by:
      getType in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getFunctions

      public Collection<org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Function> getFunctions(String s)
      Specified by:
      getFunctions in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getFunctionNames

      public Set<String> getFunctionNames()
      Specified by:
      getFunctionNames in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • getExpression

      public org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.linq4j.tree.Expression getExpression(@Nullable org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.SchemaPlus schemaPlus, String s)
      Specified by:
      getExpression in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • isMutable

      public boolean isMutable()
      Specified by:
      isMutable in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema
    • snapshot

      public org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema snapshot(org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.SchemaVersion schemaVersion)
      Specified by:
      snapshot in interface org.apache.beam.vendor.calcite.v1_40_0.org.apache.calcite.schema.Schema