[ https://issues.apache.org/jira/browse/FLINK-25174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jingsong Lee reassigned FLINK-25174: ------------------------------------ Assignee: Jingsong Lee > Introduce ManagedTableFactory > ----------------------------- > > Key: FLINK-25174 > URL: https://issues.apache.org/jira/browse/FLINK-25174 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / API > Reporter: Jingsong Lee > Assignee: Jingsong Lee > Priority: Major > Fix For: 1.15.0 > > > We need an interface to discover the managed table factory implementation for > managed table: > {code:java} > /** > * Base interface for configuring a managed dynamic table connector. The > managed table factory is > * used when there is no {@link FactoryUtil#CONNECTOR} option. > */ > @Internal > public interface ManagedTableFactory extends DynamicTableFactory { > > @Override > default String factoryIdentifier() { > return ""; > } > > /** > * Enrich options from catalog and session information. > * > * @return new options of this table. > */ > Map<String, String> enrichOptions(Context context); > > /** Notifies the listener that a table creation occurred. */ > void onCreateTable(Context context); > > /** Notifies the listener that a table drop occurred. */ > void onDropTable(Context context); > } {code} > A catalog that supports built-in dynamic table needs to implement the method > in the Catalog (The GenericInMemoryCatalog and HiveCatalog will implement > this method): > {code:java} > /** > * If return true, the Table without specified connector will be translated > to the Flink managed table. > * See {@link CatalogBaseTable.TableKind#MANAGED} > */ > default boolean supportsManagedTable { > return false; > } {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)