Add a new CatalogManager class and port existing Calcite-directly-related code from TableEnvironment into CatalogManager.
Background: there are two parallel efforts going on right now -
FLINK-10686, driven by Timo, includes moving external catalogs APIs from flink-table to flink-table-common, also from Scala to Java; FLINK-10744 I'm working on right now to integrate Flink with Hive and enhance external catalog functionality.
As discussed with @twalthr in
FLINK-10689, we'd better parallelize these efforts while introducing minimal overhead for integrating them later. Our agreed way is to writing new code/feature related to external catalogs/hive in Java in flink-table first then move to other module like flink-table-common, this way we can minimize migration efforts. If existing classes are modified for a feature we can start migrating them to Java in a separate commit first and then perform the actual feature changes, and migrated classes can be placed in flink-table/src/main/java until we find a better module structure.
Thus, this is NOT a feature, but purely refactor, thus no new functions should be introduced. It acts the pre-requisite for