[
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)