Hi devs
    Recently I'm looking to migrate the deprecated TableSchema to
ResolvedSchema and Schema pair in FLINK-29585. But I found it a little
not suitable for the Catalog's APIs.

There are currently three interfaces that will deal with the CatalogBaseTable.

1. createTable
2. alterTable
3. getTable

Although it describes in the comments that the framework will ensure
it will pass the resolved table for the implementer, it's not enforced
in the interface, it will make the implementer make an extra cast for
the resolved information. eg: ResolvedSchema.

*
* <p>The framework will make sure to call this method with fully
validated {@link
* ResolvedCatalogTable} or {@link ResolvedCatalogView}. Those
instances are easy to serialize
* for a durable catalog implementation.
*

So I purpose adjusting the `createTable` and `alterTable` to work with
ResolvedCatalogBaseTable directly.
For the getTable, I have no strong preference but I think it can also
work with ResolvedCatalogBaseTable to return the
ResolvedCatalogBaseTable. Since the current implementation is already
able to do that.

Thanks,
Aitozi

Reply via email to