This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-24328 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit cd41a0033b932583c917f9c7268839bbde496cc0 Author: amashenkov <[email protected]> AuthorDate: Thu Feb 6 23:24:26 2025 +0300 wip --- .../commands/AlterTableAddColumnCommand.java | 16 ++++++---- .../commands/AlterTableAlterColumnCommand.java | 7 +++-- .../commands/AlterTableDropColumnCommand.java | 7 +++-- .../internal/catalog/commands/CatalogUtils.java | 35 +++++++++++++++------- .../catalog/commands/DropIndexCommand.java | 11 +++++-- .../catalog/commands/DropTableCommand.java | 7 +++-- .../catalog/commands/RenameIndexCommand.java | 7 +++-- .../catalog/commands/RenameTableCommand.java | 7 +++-- .../commands/AbstractCommandValidationTest.java | 1 + .../AlterTableAddColumnCommandValidationTest.java | 4 +++ ...AlterTableAlterColumnCommandValidationTest.java | 5 ++++ .../AlterTableDropColumnCommandValidationTest.java | 5 ++++ .../CreateAbstractIndexCommandValidationTest.java | 2 -- .../commands/DropIndexCommandValidationTest.java | 9 ++++++ .../commands/DropTableCommandValidationTest.java | 8 +++++ .../commands/RenameIndexCommandValidationTest.java | 9 +++--- .../commands/RenameTableCommandValidationTest.java | 9 +++--- 17 files changed, 111 insertions(+), 38 deletions(-) diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommand.java index 49ac7dc7dc9..1a9dc3c3e15 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommand.java @@ -17,8 +17,11 @@ package org.apache.ignite.internal.catalog.commands; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.ensureNonFunctionalDefault; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.ensureTypeCanBeStored; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.fromParams; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.table; import static org.apache.ignite.internal.lang.IgniteStringFormatter.format; import static org.apache.ignite.internal.util.CollectionUtils.copyOrNull; import static org.apache.ignite.internal.util.CollectionUtils.nullOrEmpty; @@ -73,9 +76,12 @@ public class AlterTableAddColumnCommand extends AbstractTableCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifTableExists); + if (schema == null) { + return List.of(); + } - CatalogTableDescriptor table = CatalogUtils.table(schema, tableName, !ifTableExists); + CatalogTableDescriptor table = table(schema, tableName, !ifTableExists); if (table == null) { return List.of(); } @@ -109,8 +115,8 @@ public class AlterTableAddColumnCommand extends AbstractTableCommand { throw new CatalogValidationException(format("Column with name '{}' specified more than once", column.name())); } - CatalogUtils.ensureTypeCanBeStored(column.name(), column.type()); - CatalogUtils.ensureNonFunctionalDefault(column.name(), column.defaultValueDefinition()); + ensureTypeCanBeStored(column.name(), column.type()); + ensureNonFunctionalDefault(column.name(), column.defaultValueDefinition()); } } diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommand.java index 661e08563d3..bccadb81caf 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommand.java @@ -18,7 +18,7 @@ package org.apache.ignite.internal.catalog.commands; import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.validateIdentifier; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.table; import static org.apache.ignite.internal.lang.IgniteStringFormatter.format; @@ -91,7 +91,10 @@ public class AlterTableAlterColumnCommand extends AbstractTableCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifTableExists); + if (schema == null) { + return List.of(); + } CatalogTableDescriptor table = table(schema, tableName, !ifTableExists); if (table == null) { diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommand.java index 6287a7f070f..d746461fc92 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommand.java @@ -18,7 +18,7 @@ package org.apache.ignite.internal.catalog.commands; import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.validateIdentifier; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.table; import static org.apache.ignite.internal.lang.IgniteStringFormatter.format; import static org.apache.ignite.internal.util.CollectionUtils.copyOrNull; @@ -78,7 +78,10 @@ public class AlterTableDropColumnCommand extends AbstractTableCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifTableExists); + if (schema == null) { + return List.of(); + } CatalogTableDescriptor table = table(schema, tableName, !ifTableExists); if (table == null) { diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java index 45655984974..68a7b283882 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/CatalogUtils.java @@ -387,15 +387,7 @@ public class CatalogUtils { * @throws CatalogValidationException If schema with given name is not exists. */ public static CatalogSchemaDescriptor schemaOrThrow(Catalog catalog, String name) throws CatalogValidationException { - name = Objects.requireNonNull(name, "schemaName"); - - CatalogSchemaDescriptor schema = catalog.schema(name); - - if (schema == null) { - throw new CatalogValidationException(format("Schema with name '{}' not found", name)); - } - - return schema; + return schema(catalog, name, true); } /** @@ -403,7 +395,7 @@ public class CatalogUtils { * * @param catalog Catalog to look up the schema in. * @param schemaId Schema ID. - * @throws CatalogValidationException If schema does not exist. + * @throws CatalogValidationException If schema with given name is not exists and flag shouldThrowIfNotExists set to {@code true}. */ public static CatalogSchemaDescriptor schemaOrThrow(Catalog catalog, int schemaId) throws CatalogValidationException { CatalogSchemaDescriptor schema = catalog.schema(schemaId); @@ -415,6 +407,29 @@ public class CatalogUtils { return schema; } + /** + * Returns schema with given name, or throws {@link CatalogValidationException} if schema with given name not exists. + * + * @param catalog Catalog to look up schema in. + * @param name Name of the schema of interest. + * @param shouldThrowIfNotExists Flag indicated should be thrown the {@code TableNotFoundValidationException} for absent table or just + * return {@code null}. + * @return Schema with given name. Never null. + * @throws CatalogValidationException If schema with given name is not exists. + */ + public static CatalogSchemaDescriptor schema(Catalog catalog, String name, boolean shouldThrowIfNotExists) + throws CatalogValidationException { + name = Objects.requireNonNull(name, "schemaName"); + + CatalogSchemaDescriptor schema = catalog.schema(name); + + if (schema == null && shouldThrowIfNotExists) { + throw new CatalogValidationException(format("Schema with name '{}' not found", name)); + } + + return schema; + } + /** * Returns table with given name. * diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropIndexCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropIndexCommand.java index 087dd1e8cd6..e16e442fa04 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropIndexCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropIndexCommand.java @@ -17,7 +17,8 @@ package org.apache.ignite.internal.catalog.commands; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.index; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import static org.apache.ignite.internal.lang.IgniteStringFormatter.format; import java.util.List; @@ -73,9 +74,13 @@ public class DropIndexCommand extends AbstractIndexCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); - CatalogIndexDescriptor index = CatalogUtils.index(schema, indexName, !ifExists); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifExists); + if (schema == null) { + return List.of(); + } + + CatalogIndexDescriptor index = index(schema, indexName, !ifExists); if (index == null) { return List.of(); } diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropTableCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropTableCommand.java index 95fca556138..ce272cf2938 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropTableCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/DropTableCommand.java @@ -17,7 +17,7 @@ package org.apache.ignite.internal.catalog.commands; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.table; import java.util.ArrayList; @@ -49,7 +49,10 @@ public class DropTableCommand extends AbstractTableCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifTableExists); + if (schema == null) { + return List.of(); + } CatalogTableDescriptor table = table(schema, tableName, !ifTableExists); if (table == null) { diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java index 24710a53cc0..91dfaa2914a 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommand.java @@ -20,7 +20,7 @@ package org.apache.ignite.internal.catalog.commands; import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.ensureNoTableIndexOrSysViewExistsWithGivenName; import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.validateIdentifier; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.index; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import java.util.List; import org.apache.ignite.internal.catalog.Catalog; @@ -58,7 +58,10 @@ public class RenameIndexCommand extends AbstractIndexCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifIndexExists); + if (schema == null) { + return List.of(); + } CatalogIndexDescriptor index = index(schema, indexName, !ifIndexExists); if (index == null) { diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameTableCommand.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameTableCommand.java index bdd77e0f13a..df16a423a9d 100644 --- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameTableCommand.java +++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/RenameTableCommand.java @@ -21,7 +21,7 @@ import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.en import static org.apache.ignite.internal.catalog.CatalogParamsValidationUtils.validateIdentifier; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.indexOrThrow; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.pkIndexName; -import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schemaOrThrow; +import static org.apache.ignite.internal.catalog.commands.CatalogUtils.schema; import static org.apache.ignite.internal.catalog.commands.CatalogUtils.table; import java.util.List; @@ -59,7 +59,10 @@ public class RenameTableCommand extends AbstractTableCommand { @Override public List<UpdateEntry> get(UpdateContext updateContext) { Catalog catalog = updateContext.catalog(); - CatalogSchemaDescriptor schema = schemaOrThrow(catalog, schemaName); + CatalogSchemaDescriptor schema = schema(catalog, schemaName, !ifTableExists); + if (schema == null) { + return List.of(); + } ensureNoTableIndexOrSysViewExistsWithGivenName(schema, newTableName); diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AbstractCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AbstractCommandValidationTest.java index 0f6dc4a4d41..8c7971f119a 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AbstractCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AbstractCommandValidationTest.java @@ -60,6 +60,7 @@ abstract class AbstractCommandValidationTest extends BaseIgniteAbstractTest { static final String SCHEMA_NAME = "PUBLIC"; static final String TABLE_NAME = "TEST"; static final String ZONE_NAME = "Default"; + static final String INDEX_NAME = "IDX"; static final TablePrimaryKey ID_PK = TableHashPrimaryKey.builder() .columns(List.of("ID")) .build(); diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommandValidationTest.java index 4173d2d21af..a59fea2f73e 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAddColumnCommandValidationTest.java @@ -126,6 +126,10 @@ public class AlterTableAddColumnCommandValidationTest extends AbstractCommandVal CatalogValidationException.class, "Schema with name 'PUBLIC_UNK' not found" ); + + CatalogCommand alterCommand = builder.ifTableExists(true).build(); + + alterCommand.get(new UpdateContext(catalog)); // No exception } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommandValidationTest.java index 54740b39ced..5f0ab6ff868 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableAlterColumnCommandValidationTest.java @@ -114,6 +114,11 @@ public class AlterTableAlterColumnCommandValidationTest extends AbstractCommandV CatalogValidationException.class, "Schema with name 'PUBLIC_UNK' not found" ); + + CatalogCommand alterCommand = builder.ifTableExists(true) + .build(); + + alterCommand.get(new UpdateContext(catalog)); // No exception } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommandValidationTest.java index cbaf76f62da..c61b426b7e8 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/AlterTableDropColumnCommandValidationTest.java @@ -130,6 +130,11 @@ public class AlterTableDropColumnCommandValidationTest extends AbstractCommandVa () -> command.get(updateContext), "Schema with name 'PUBLIC_UNK' not found" ); + + CatalogCommand alterCommand = builder.ifTableExists(true) + .build(); + + alterCommand.get(updateContext); // No exception } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/CreateAbstractIndexCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/CreateAbstractIndexCommandValidationTest.java index 470787fc649..e94e1478f41 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/CreateAbstractIndexCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/CreateAbstractIndexCommandValidationTest.java @@ -37,8 +37,6 @@ import org.junit.jupiter.params.provider.MethodSource; */ @SuppressWarnings({"ThrowableNotThrown", "rawtypes", "unchecked"}) public abstract class CreateAbstractIndexCommandValidationTest extends AbstractCommandValidationTest { - protected static final String INDEX_NAME = "IDX"; - protected abstract <T extends AbstractCreateIndexCommandBuilder<T>> T prefilledBuilder(); @ParameterizedTest(name = "[{index}] ''{argumentsWithNames}''") diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropIndexCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropIndexCommandValidationTest.java index 4277e965754..a01529b9991 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropIndexCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropIndexCommandValidationTest.java @@ -36,6 +36,7 @@ import org.junit.jupiter.params.provider.MethodSource; */ @SuppressWarnings("ThrowableNotThrown") public class DropIndexCommandValidationTest extends AbstractCommandValidationTest { + @ParameterizedTest(name = "[{index}] ''{argumentsWithNames}''") @MethodSource("nullAndBlankStrings") void schemaNameMustNotBeNullOrBlank(String name) { @@ -80,6 +81,14 @@ public class DropIndexCommandValidationTest extends AbstractCommandValidationTes CatalogValidationException.class, "Schema with name 'PUBLIC_UNK' not found" ); + + CatalogCommand dropCommand = DropIndexCommand.builder() + .schemaName(SCHEMA_NAME + "_UNK") + .indexName("TEST") + .ifExists(true) + .build(); + + dropCommand.get(new UpdateContext(catalog)); // No exception is thrown } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropTableCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropTableCommandValidationTest.java index b4528842b09..6c18ffc3240 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropTableCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/DropTableCommandValidationTest.java @@ -79,6 +79,14 @@ public class DropTableCommandValidationTest extends AbstractCommandValidationTes () -> command.get(new UpdateContext(catalog)), "Schema with name 'PUBLIC_UNK' not found" ); + + CatalogCommand dropCommand = DropTableCommand.builder() + .schemaName(SCHEMA_NAME + "_UNK") + .tableName("TEST") + .ifTableExists(true) + .build(); + + dropCommand.get(new UpdateContext(catalog)); // No exception } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommandValidationTest.java index 951a273fb9b..9e0f486597e 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameIndexCommandValidationTest.java @@ -80,17 +80,18 @@ public class RenameIndexCommandValidationTest extends AbstractCommandValidationT void exceptionIsThrownIfSchemaDoesNotExist() { Catalog catalog = catalogWithDefaultZone(); - CatalogCommand command = RenameIndexCommand.builder() + RenameIndexCommandBuilder builder = RenameIndexCommand.builder() .schemaName("TEST") .indexName("TEST") - .newIndexName("TEST2") - .build(); + .newIndexName("TEST2"); assertThrows( CatalogValidationException.class, - () -> command.get(new UpdateContext(catalog)), + () -> builder.build().get(new UpdateContext(catalog)), "Schema with name 'TEST' not found" ); + + builder.ifIndexExists(true).build().get(new UpdateContext(catalog)); // No exception } @Test diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameTableCommandValidationTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameTableCommandValidationTest.java index c53a4bc857c..9a06572189e 100644 --- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameTableCommandValidationTest.java +++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/commands/RenameTableCommandValidationTest.java @@ -82,17 +82,18 @@ public class RenameTableCommandValidationTest extends AbstractCommandValidationT void exceptionIsThrownIfSchemaDoesNotExist() { Catalog catalog = catalogWithDefaultZone(); - CatalogCommand command = RenameTableCommand.builder() + RenameTableCommandBuilder builder = RenameTableCommand.builder() .schemaName("TEST") .tableName("TEST") - .newTableName("TEST2") - .build(); + .newTableName("TEST2"); assertThrows( CatalogValidationException.class, - () -> command.get(new UpdateContext(catalog)), + () -> builder.build().get(new UpdateContext(catalog)), "Schema with name 'TEST' not found" ); + + builder.ifTableExists(true).build().get(new UpdateContext(catalog)); // No exception } @Test
