[
https://issues.apache.org/jira/browse/IGNITE-24215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Mashenkov updated IGNITE-24215:
--------------------------------------
Description:
On one hand, `Catalog` class is an internal container for descriptors and
wasn't designed to be used directly outside the module.
On the other hand `CatalogService` interface has a bunch of similar methods for
accessing catalog internals.
Let's disclose `Catalog` class: describe it in README.md of `ignite-catalog`
module, write javadocs and maybe add some shortcut method (e.g.
`table(schemaName, tableName)`)
Let's remove all the methods, which returns `Catalog` class internals, from
`CatalogService`.
So, `CatalogService` should have few methods that answer the question:
* which catalog version is actual at point-in-time
* which catalog version is earliest/latest
* when catalog is initialized/catalog version is ready by returning a future.
* gets `Catalog` snapshot for version/point-in-time
was:
On one hand, `Catalog` class is an internal container for descriptors and
wasn't designed to be used directly outside the module.
On the other hand `CatalogService` interface has a bunch of similar methods for
accessing catalog internals.
Let's disclose `Catalog` class, describe it in README_MD for module, write
javadocs and maybe add some shortcut method (e.g. `table(schemaName,
tableName)`)
Let's remove all the methods, which returns `Catalog` class internals, from
`CatalogService`.
So, `CatalogService` should have few methods that answer the question:
* which catalog version is actual at point-in-time
* which catalog version is earliest/latest
* when catalog is initialized/catalog version is ready by returning a future.
* gets `Catalog` snapshot for version/point-in-time
> Improve internal Catalog API
> ----------------------------
>
> Key: IGNITE-24215
> URL: https://issues.apache.org/jira/browse/IGNITE-24215
> Project: Ignite
> Issue Type: Improvement
> Reporter: Andrey Mashenkov
> Priority: Major
> Labels: ignite-3, tech-debt
>
> On one hand, `Catalog` class is an internal container for descriptors and
> wasn't designed to be used directly outside the module.
> On the other hand `CatalogService` interface has a bunch of similar methods
> for accessing catalog internals.
> Let's disclose `Catalog` class: describe it in README.md of `ignite-catalog`
> module, write javadocs and maybe add some shortcut method (e.g.
> `table(schemaName, tableName)`)
> Let's remove all the methods, which returns `Catalog` class internals, from
> `CatalogService`.
> So, `CatalogService` should have few methods that answer the question:
> * which catalog version is actual at point-in-time
> * which catalog version is earliest/latest
> * when catalog is initialized/catalog version is ready by returning a future.
> * gets `Catalog` snapshot for version/point-in-time
--
This message was sent by Atlassian Jira
(v8.20.10#820010)