Class GenericInMemoryCatalog

java.lang.Object
org.apache.flink.table.catalog.AbstractCatalog
org.apache.flink.table.catalog.GenericInMemoryCatalog
All Implemented Interfaces:
org.apache.flink.table.catalog.Catalog

@Internal public class GenericInMemoryCatalog extends org.apache.flink.table.catalog.AbstractCatalog
A generic catalog implementation that holds all meta objects in memory.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    GenericInMemoryCatalog(String name, String defaultDatabase)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    alterDatabase(String databaseName, org.apache.flink.table.catalog.CatalogDatabase newDatabase, boolean ignoreIfNotExists)
     
    void
    alterFunction(org.apache.flink.table.catalog.ObjectPath path, org.apache.flink.table.catalog.CatalogFunction newFunction, boolean ignoreIfNotExists)
     
    void
    alterModel(org.apache.flink.table.catalog.ObjectPath modelPath, org.apache.flink.table.catalog.CatalogModel newModel, boolean ignoreIfNotExists)
     
    void
    alterPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition newPartition, boolean ignoreIfNotExists)
     
    void
    alterPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists)
     
    void
    alterPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogTableStatistics partitionStatistics, boolean ignoreIfNotExists)
     
    void
    alterTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable newTable, boolean ignoreIfNotExists)
     
    void
    alterTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists)
     
    void
    alterTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogTableStatistics tableStatistics, boolean ignoreIfNotExists)
     
    void
     
    void
    createDatabase(String databaseName, org.apache.flink.table.catalog.CatalogDatabase db, boolean ignoreIfExists)
     
    void
    createFunction(org.apache.flink.table.catalog.ObjectPath path, org.apache.flink.table.catalog.CatalogFunction function, boolean ignoreIfExists)
     
    void
    createModel(org.apache.flink.table.catalog.ObjectPath modelPath, org.apache.flink.table.catalog.CatalogModel model, boolean ignoreIfExists)
     
    void
    createPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition partition, boolean ignoreIfExists)
     
    void
    createTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable table, boolean ignoreIfExists)
     
    boolean
    databaseExists(String databaseName)
     
    void
    dropDatabase(String databaseName, boolean ignoreIfNotExists, boolean cascade)
     
    void
    dropFunction(org.apache.flink.table.catalog.ObjectPath path, boolean ignoreIfNotExists)
     
    void
    dropModel(org.apache.flink.table.catalog.ObjectPath modelPath, boolean ignoreIfNotExists)
     
    void
    dropPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, boolean ignoreIfNotExists)
     
    void
    dropTable(org.apache.flink.table.catalog.ObjectPath tablePath, boolean ignoreIfNotExists)
     
    boolean
    functionExists(org.apache.flink.table.catalog.ObjectPath path)
     
    org.apache.flink.table.catalog.CatalogDatabase
    getDatabase(String databaseName)
     
    org.apache.flink.table.catalog.CatalogFunction
    getFunction(org.apache.flink.table.catalog.ObjectPath path)
     
    org.apache.flink.table.catalog.CatalogModel
    getModel(org.apache.flink.table.catalog.ObjectPath modelPath)
     
    org.apache.flink.table.catalog.CatalogPartition
    getPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)
     
    org.apache.flink.table.catalog.stats.CatalogColumnStatistics
    getPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)
     
    org.apache.flink.table.catalog.stats.CatalogTableStatistics
    getPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)
     
    org.apache.flink.table.catalog.CatalogBaseTable
    getTable(org.apache.flink.table.catalog.ObjectPath tablePath)
     
    org.apache.flink.table.catalog.stats.CatalogColumnStatistics
    getTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath)
     
    org.apache.flink.table.catalog.stats.CatalogTableStatistics
    getTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath)
     
     
    listFunctions(String databaseName)
     
    listModels(String databaseName)
     
    List<org.apache.flink.table.catalog.CatalogPartitionSpec>
    listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath)
     
    List<org.apache.flink.table.catalog.CatalogPartitionSpec>
    listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)
     
    List<org.apache.flink.table.catalog.CatalogPartitionSpec>
    listPartitionsByFilter(org.apache.flink.table.catalog.ObjectPath tablePath, List<org.apache.flink.table.expressions.Expression> filters)
     
    listTables(String databaseName)
     
    listViews(String databaseName)
     
    boolean
    modelExists(org.apache.flink.table.catalog.ObjectPath modelPath)
     
    void
     
    boolean
    partitionExists(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec)
     
    void
    renameModel(org.apache.flink.table.catalog.ObjectPath modelPath, String newModelName, boolean ignoreIfNotExists)
     
    void
    renameTable(org.apache.flink.table.catalog.ObjectPath tablePath, String newTableName, boolean ignoreIfNotExists)
     
    boolean
    tableExists(org.apache.flink.table.catalog.ObjectPath tablePath)
     

    Methods inherited from class org.apache.flink.table.catalog.AbstractCatalog

    getDefaultDatabase, getName

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.flink.table.catalog.Catalog

    alterTable, bulkGetPartitionColumnStatistics, bulkGetPartitionStatistics, dropDatabase, getFactory, getFunctionDefinitionFactory, getProcedure, getTable, listProcedures
  • Field Details

  • Constructor Details

    • GenericInMemoryCatalog

      public GenericInMemoryCatalog(String name)
    • GenericInMemoryCatalog

      public GenericInMemoryCatalog(String name, String defaultDatabase)
  • Method Details

    • open

      public void open()
    • close

      public void close()
    • createDatabase

      public void createDatabase(String databaseName, org.apache.flink.table.catalog.CatalogDatabase db, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.DatabaseAlreadyExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseAlreadyExistException
    • dropDatabase

      public void dropDatabase(String databaseName, boolean ignoreIfNotExists, boolean cascade) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException, org.apache.flink.table.catalog.exceptions.DatabaseNotEmptyException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      org.apache.flink.table.catalog.exceptions.DatabaseNotEmptyException
    • alterDatabase

      public void alterDatabase(String databaseName, org.apache.flink.table.catalog.CatalogDatabase newDatabase, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • listDatabases

      public List<String> listDatabases()
    • getDatabase

      public org.apache.flink.table.catalog.CatalogDatabase getDatabase(String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • databaseExists

      public boolean databaseExists(String databaseName)
    • createTable

      public void createTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable table, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.TableAlreadyExistException, org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableAlreadyExistException
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • alterTable

      public void alterTable(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogBaseTable newTable, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • dropTable

      public void dropTable(org.apache.flink.table.catalog.ObjectPath tablePath, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • renameTable

      public void renameTable(org.apache.flink.table.catalog.ObjectPath tablePath, String newTableName, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableAlreadyExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
      org.apache.flink.table.catalog.exceptions.TableAlreadyExistException
    • listTables

      public List<String> listTables(String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • listViews

      public List<String> listViews(String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • getTable

      public org.apache.flink.table.catalog.CatalogBaseTable getTable(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • tableExists

      public boolean tableExists(org.apache.flink.table.catalog.ObjectPath tablePath)
    • createModel

      public void createModel(org.apache.flink.table.catalog.ObjectPath modelPath, org.apache.flink.table.catalog.CatalogModel model, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.ModelAlreadyExistException, org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.ModelAlreadyExistException
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • alterModel

      public void alterModel(org.apache.flink.table.catalog.ObjectPath modelPath, org.apache.flink.table.catalog.CatalogModel newModel, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.ModelNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.ModelNotExistException
    • dropModel

      public void dropModel(org.apache.flink.table.catalog.ObjectPath modelPath, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.ModelNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.ModelNotExistException
    • renameModel

      public void renameModel(org.apache.flink.table.catalog.ObjectPath modelPath, String newModelName, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.ModelNotExistException, org.apache.flink.table.catalog.exceptions.ModelAlreadyExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.ModelNotExistException
      org.apache.flink.table.catalog.exceptions.ModelAlreadyExistException
    • listModels

      public List<String> listModels(String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • getModel

      public org.apache.flink.table.catalog.CatalogModel getModel(org.apache.flink.table.catalog.ObjectPath modelPath) throws org.apache.flink.table.catalog.exceptions.ModelNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.ModelNotExistException
    • modelExists

      public boolean modelExists(org.apache.flink.table.catalog.ObjectPath modelPath)
    • createFunction

      public void createFunction(org.apache.flink.table.catalog.ObjectPath path, org.apache.flink.table.catalog.CatalogFunction function, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.FunctionAlreadyExistException, org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.FunctionAlreadyExistException
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • alterFunction

      public void alterFunction(org.apache.flink.table.catalog.ObjectPath path, org.apache.flink.table.catalog.CatalogFunction newFunction, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.FunctionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.FunctionNotExistException
    • dropFunction

      public void dropFunction(org.apache.flink.table.catalog.ObjectPath path, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.FunctionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.FunctionNotExistException
    • listFunctions

      public List<String> listFunctions(String databaseName) throws org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.DatabaseNotExistException
    • getFunction

      public org.apache.flink.table.catalog.CatalogFunction getFunction(org.apache.flink.table.catalog.ObjectPath path) throws org.apache.flink.table.catalog.exceptions.FunctionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.FunctionNotExistException
    • functionExists

      public boolean functionExists(org.apache.flink.table.catalog.ObjectPath path)
    • createPartition

      public void createPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition partition, boolean ignoreIfExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableNotPartitionedException, org.apache.flink.table.catalog.exceptions.PartitionSpecInvalidException, org.apache.flink.table.catalog.exceptions.PartitionAlreadyExistsException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
      org.apache.flink.table.catalog.exceptions.TableNotPartitionedException
      org.apache.flink.table.catalog.exceptions.PartitionSpecInvalidException
      org.apache.flink.table.catalog.exceptions.PartitionAlreadyExistsException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • dropPartition

      public void dropPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • alterPartition

      public void alterPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.CatalogPartition newPartition, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • listPartitions

      public List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableNotPartitionedException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
      org.apache.flink.table.catalog.exceptions.TableNotPartitionedException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • listPartitions

      public List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitions(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableNotPartitionedException, org.apache.flink.table.catalog.exceptions.PartitionSpecInvalidException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
      org.apache.flink.table.catalog.exceptions.TableNotPartitionedException
      org.apache.flink.table.catalog.exceptions.PartitionSpecInvalidException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • listPartitionsByFilter

      public List<org.apache.flink.table.catalog.CatalogPartitionSpec> listPartitionsByFilter(org.apache.flink.table.catalog.ObjectPath tablePath, List<org.apache.flink.table.expressions.Expression> filters) throws org.apache.flink.table.catalog.exceptions.TableNotExistException, org.apache.flink.table.catalog.exceptions.TableNotPartitionedException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
      org.apache.flink.table.catalog.exceptions.TableNotPartitionedException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • getPartition

      public org.apache.flink.table.catalog.CatalogPartition getPartition(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException, org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      org.apache.flink.table.catalog.exceptions.CatalogException
    • partitionExists

      public boolean partitionExists(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.CatalogException
      Throws:
      org.apache.flink.table.catalog.exceptions.CatalogException
    • getTableStatistics

      public org.apache.flink.table.catalog.stats.CatalogTableStatistics getTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • getTableColumnStatistics

      public org.apache.flink.table.catalog.stats.CatalogColumnStatistics getTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • getPartitionStatistics

      public org.apache.flink.table.catalog.stats.CatalogTableStatistics getPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
    • getPartitionColumnStatistics

      public org.apache.flink.table.catalog.stats.CatalogColumnStatistics getPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
    • alterTableStatistics

      public void alterTableStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogTableStatistics tableStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • alterTableColumnStatistics

      public void alterTableColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.TableNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.TableNotExistException
    • alterPartitionStatistics

      public void alterPartitionStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogTableStatistics partitionStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException
    • alterPartitionColumnStatistics

      public void alterPartitionColumnStatistics(org.apache.flink.table.catalog.ObjectPath tablePath, org.apache.flink.table.catalog.CatalogPartitionSpec partitionSpec, org.apache.flink.table.catalog.stats.CatalogColumnStatistics columnStatistics, boolean ignoreIfNotExists) throws org.apache.flink.table.catalog.exceptions.PartitionNotExistException
      Throws:
      org.apache.flink.table.catalog.exceptions.PartitionNotExistException