Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

CatalogDatabase extensions as serializable

/** Interface of a database in a catalog, and can be serialized along with Catalog. */
@PublicEvolving
public interface CatalogDatabase extends Serializable {

... ...

}

Implementation Plan

The overall execution process is shown in the following figure.

...

The disadvantage of this solution is that it does not cover the usage scenario of TableEnvironment#registerCatalog. And it can't serialize database related data in InMemoryCatalog, so when using InMemoryCatalog#createTable on JM side, there may be an exception that database doesn't exist.

Note:  This solution only works if we create the Catalog using DDL, because we can only get the Catalog properties with the with keyword. If we use a Catalog registered by TableEnvironment#registerCatalog method, we cannot get these properties. Therefore, CTAS does not currently support jobs that use TableEnvironment#registerCatalog.

...