Jingsong Lee created FLINK-25174:
------------------------------------
Summary: 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
Fix For: 1.15.0
We need an interface to discover the managed table factory implementation for
managed table:
{{/**}}
{{ }}{{* 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);}}
{{}}}
{{}}
A catalog that supports built-in dynamic table needs to implement the method in
the Catalog (The GenericInMemoryCatalog and HiveCatalog will implement this
method):
{{/**}}
{{ }}{{* 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{}}}{{{};{}}}
{{}}}
{{}}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)