Pavel Pereslegin created IGNITE-22197: -----------------------------------------
Summary: 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 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)