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