Interface CatalogManager
- All Known Implementing Classes:
EmptyCatalogManager,InMemoryCatalogManager
Top-level authority that manages
Catalogs. Used inside the root BeamCalciteSchema.
Implementations should have a way of determining which catalog is currently active, and
produce it when currentCatalog() is invoked.
When
is called, the provider should
become available for all catalogs.invalid reference
#registerTableProvider(String, TableProvider)
-
Method Summary
Modifier and TypeMethodDescriptioncatalogs()voidCreates and stores a catalog of a particular type.Produces the currently active catalog.voiddropCatalog(String name) Drops the catalog with this name.getCatalog(String name) Attempts to fetch the catalog with this name.voidregisterTableProvider(TableProvider tableProvider) Registers aTableProviderand propagates it to all theCataloginstances available to this manager.Returns all theTableProviders available to thisCatalogManager, organized by type.voiduseCatalog(String name) Switches the active catalog.
-
Method Details
-
createCatalog
Creates and stores a catalog of a particular type. -
useCatalog
Switches the active catalog. -
currentCatalog
Catalog currentCatalog()Produces the currently active catalog. -
getCatalog
Attempts to fetch the catalog with this name. May produce null if it does not exist. -
dropCatalog
Drops the catalog with this name. No-op if the catalog already does not exist. -
registerTableProvider
Registers aTableProviderand propagates it to all theCataloginstances available to this manager. -
tableProviders
Map<String,TableProvider> tableProviders()Returns all theTableProviders available to thisCatalogManager, organized by type. -
catalogs
Collection<Catalog> catalogs()
-