Class TableSchemaUtils

java.lang.Object
org.apache.flink.table.utils.TableSchemaUtils

@Internal public class TableSchemaUtils extends Object
Utilities to TableSchema.
  • Constructor Details

    • TableSchemaUtils

      public TableSchemaUtils()
  • Method Details

    • getPhysicalSchema

      public static TableSchema getPhysicalSchema(TableSchema tableSchema)
      Return TableSchema which consists of all physical columns. That means, the computed columns and metadata columns are filtered out.

      Readers(or writers) such as TableSource and TableSink should use this physical schema to generate TableSource.getProducedDataType() and TableSource.getTableSchema() rather than using the raw TableSchema which may contains additional columns.

    • getPersistedSchema

      public static TableSchema getPersistedSchema(TableSchema tableSchema)
      Return TableSchema which consists of all persisted columns. That means, the virtual computed columns and metadata columns are filtered out.

      Its difference from getPhysicalSchema(TableSchema) is that it includes of all physical columns and metadata columns without virtual keyword.

    • containsPhysicalColumnsOnly

      public static boolean containsPhysicalColumnsOnly(TableSchema schema)
      Returns true if there are only physical columns in the given TableSchema.
    • checkOnlyPhysicalColumns

      public static TableSchema checkOnlyPhysicalColumns(TableSchema schema)
      Throws an exception if the given TableSchema contains any non-physical columns.
    • getPrimaryKeyIndices

      public static int[] getPrimaryKeyIndices(TableSchema schema)
      Returns the field indices of primary key in the physical columns of this schema (not include computed columns or metadata columns).
    • removeTimeAttributeFromResolvedSchema

      public static ResolvedSchema removeTimeAttributeFromResolvedSchema(ResolvedSchema resolvedSchema)
      Removes time attributes from the ResolvedSchema.
    • builderWithGivenSchema

      public static TableSchema.Builder builderWithGivenSchema(TableSchema oriSchema)
      Creates a builder with given table schema.
      Parameters:
      oriSchema - Original schema
      Returns:
      the builder with all the information from the given schema
    • dropConstraint

      public static TableSchema dropConstraint(TableSchema oriSchema, String constraintName)
      Creates a new schema but drop the constraint with given name.