[ 
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)

Reply via email to