[ 
https://issues.apache.org/jira/browse/IGNITE-15726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin resolved IGNITE-15726.
------------------------------------------
    Resolution: Won't Fix

Looks like createTable and similar methods should be removed from public API

> Research non-sql production-proven table management api options.
> ----------------------------------------------------------------
>
>                 Key: IGNITE-15726
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15726
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>
> Let's check how other vendors solve the issue of non-sql api to manager 
> tables or table like structures.
> h3. Problem
> Currently there are two variants of internal table api:
> * The one that uses closure as a parameter, e.g. _Table createTable(String 
> name, Consumer<TableChange> tableInitChange);_
> * Syntactic sugar over closures presented in the form of a builder
> {code:java}
>         TableDefinition schTbl1 = SchemaBuilders.tableBuilder("PUBLIC", 
> "tbl1").columns(
>             SchemaBuilders.column("key", 
> ColumnType.INT64).asNonNull().build(),
>             SchemaBuilders.column("val", 
> ColumnType.INT32).asNullable().build()
>         ).withPrimaryKey("key").build();
>         clusterNodes.get(0).tables().createTable(schTbl1.canonicalName(), 
> tblCh ->
>             SchemaConfigurationConverter.convert(schTbl1, tblCh)
>                 .changeReplicas(1)
>                 .changePartitions(10)
>         );
> {code}
> It's not possible to use first option from within thin clients cause it's not 
> possible to transfer closure over network.
> Second one is better however it doesn't support rename and some other alter 
> operations. 
> It worth to mention that there's and 
> [option|https://issues.apache.org/jira/browse/IGNITE-15557] of pojo based 
> configuration api that is similar to builders and has similar disadvantages.
> Taking into consideration that api mentioned above partially duplicates ddl 
> for tables it makes sense to do a research checking whether other vendors 
> provide such kind of non-ddl table management api.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to