GitHub user beyond1920 opened a pull request:

    https://github.com/apache/flink/pull/3406

    [flink-5568] [Table API & SQL]Introduce interface for catalog, and provide 
an in-memory implementation. Integrate external catalog with calcite catalog

    This pr aims to introduce interface for catalog, and provide an in-memory 
implementation for test and develop, finally integrate external catalog with 
calcite catalog.
    The main change including:
    1. Introduce ExternalCatalog abstraction, including introduce 
ExternalCatalogDatabase as database   in catalog and ExternalCatalogTable as 
table in catalog.
    2. Provide an in-memory implementation for test and develop.
    3. Introduce ExternalCatalogSchema which is an implementation of Calcite 
Schema interface. It registers database in ExternalCatalog as calcite Schemas, 
and tables in a database as Calcite table.
    4. Add ExternalCatalogCompatible annotation. The TableSource with this 
annotation represents it could be converted to or from externalCatalogTable. 
ExternalCatalogTableConverter is the converter between externalCatalogTable and 
tableSource.
    5. Introduce CatalogTableHelper utility. It has two responsibilities: * 
automatically find the TableSources which are with ExternalCatalogCompatible 
annotation. * convert an ExternalCatalogTable instance to a TableSourceTable 
instance.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/alibaba/flink dev

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/3406.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3406
    
----
commit d0e1ab20078adc4f788e9c2d2c167f0251ae3476
Author: jingzhang <[email protected]>
Date:   2017-02-22T11:28:08Z

    Introduce interface for external catalog, and provide an in-memory 
implementation for test or develop. Integrate with calcite catalog.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to