[
https://issues.apache.org/jira/browse/IGNITE-15926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladislav Pyatkov updated IGNITE-15926:
---------------------------------------
Description:
ANSI standard[1] requires two methods for either table manager functions (DDL):
_DROP TABLE [ IF EXISTS ] syntax_
_CREATE TABLE [ IF NOT EXISTS ] syntax_
_ALTER TABLE [ IF EXISTS ] syntax_
for implement all these functionalities I offer to handle exceptions
(TableAlreadyExistsException, TableNotExistsException)
{code:java}
TableManager#dropTable throws TableNotExistsException
IgniteTables#createTableIfNotExists throws TableAlreadyExistsException
IgniteTables#alterTable throws TableNotExistsException
{code}
Also, the twins of these methods with `IfNotExists` suffix (and them
asynchronous analogs) would be removed.
[1] [https://postgrespro.ru/docs/postgrespro/9.6/sql-altertable]
was:
ANSI standard requires two methods for dropping table for the two DDL:
_DROP TABLE [ IF EXISTS ] syntax_
for the purpose, Table manager should provide two methods with similar semantic.
{code}
TableManager#dropTable(String) throws TableNotExists
TableManager#dropTableIfExists(String)
{code}
Also we need to support [1] ALTER TABLE [ IF EXISTS ] [ADD|DROP|ALTER] COLUMN
[1] https://postgrespro.ru/docs/postgrespro/9.6/sql-altertable
> Implement two methods for dropping a table for the table existing and not
> -------------------------------------------------------------------------
>
> Key: IGNITE-15926
> URL: https://issues.apache.org/jira/browse/IGNITE-15926
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3
>
> ANSI standard[1] requires two methods for either table manager functions
> (DDL):
> _DROP TABLE [ IF EXISTS ] syntax_
> _CREATE TABLE [ IF NOT EXISTS ] syntax_
> _ALTER TABLE [ IF EXISTS ] syntax_
> for implement all these functionalities I offer to handle exceptions
> (TableAlreadyExistsException, TableNotExistsException)
> {code:java}
> TableManager#dropTable throws TableNotExistsException
> IgniteTables#createTableIfNotExists throws TableAlreadyExistsException
> IgniteTables#alterTable throws TableNotExistsException
> {code}
> Also, the twins of these methods with `IfNotExists` suffix (and them
> asynchronous analogs) would be removed.
> [1] [https://postgrespro.ru/docs/postgrespro/9.6/sql-altertable]
--
This message was sent by Atlassian Jira
(v8.20.1#820001)