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)