[ https://issues.apache.org/jira/browse/IGNITE-22197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Iurii Gerzhedovich resolved IGNITE-22197. ----------------------------------------- Resolution: Fixed > Move DDL 'IF EXISTS` flag handling inside the catalog command > ------------------------------------------------------------- > > Key: IGNITE-22197 > URL: https://issues.apache.org/jira/browse/IGNITE-22197 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Pavel Pereslegin > Assignee: Iurii Gerzhedovich > Priority: Major > Labels: ignite-3 > > Currently, the catalog command itself does not handle the 'IF EXISTS' 'IF NOT > EXISTS' flags. We handle the exception thrown by the command and set the > result to false if the flag was set. And this result (true/false) can be > obtained by the user using {{AsyncResultSet#wasApplied}} method. > With the current approach, a problem may arise when processing a batch > command. > For example > {code:sql} > CREATE TABLE IF NOT EXISTS Person... -- command 1 > CREATE TABLE IF NOT EXISTS City... -- command 2 > {code} > If the Person table exists, the batch will not be fully executed. > To address this we can move flag handling inside the command itself. > To keep "wasApplied" working, we can rework a bit {{CatalogManager#execute}} > so that it returns not only the catalog version, but also a flag indicating > that something was changed when this command was executed. -- This message was sent by Atlassian Jira (v8.20.10#820010)