IGNITE-19611 Remove unused ifExists flag from Catalog action params (#2137)
diff --git a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AbstractTableCommandParams.java b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AbstractTableCommandParams.java
index 0aa2b8e..6041418 100644
--- a/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AbstractTableCommandParams.java
+++ b/modules/catalog/src/main/java/org/apache/ignite/internal/catalog/commands/AbstractTableCommandParams.java
@@ -24,9 +24,6 @@
/** Table name. */
protected String tableName;
- /** Quietly ignore this command if table is not exists. */
- protected boolean ifTableExists;
-
/** Schema name where this new table will be created. */
protected String schema;
@@ -39,13 +36,6 @@
}
/**
- * Quietly ignore if table is not exist.
- */
- public boolean ifTableExists() {
- return ifTableExists;
- }
-
- /**
* Parameters builder.
*/
protected abstract static class AbstractBuilder<ParamT extends AbstractTableCommandParams, BuilderT> {
@@ -78,17 +68,6 @@
}
/**
- * Set quietly ignore flag.
- *
- * @param ifTableNotExists Flag.
- */
- public BuilderT ifTableExists(boolean ifTableNotExists) {
- params.ifTableExists = ifTableNotExists;
-
- return (BuilderT) this;
- }
-
- /**
* Builds parameters.
*
* @return Parameters.
diff --git a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogServiceSelfTest.java b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogServiceSelfTest.java
index a2353ae..08c1e3c 100644
--- a/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogServiceSelfTest.java
+++ b/modules/catalog/src/test/java/org/apache/ignite/internal/catalog/CatalogServiceSelfTest.java
@@ -147,7 +147,6 @@
CreateTableParams params = CreateTableParams.builder()
.schemaName(SCHEMA_NAME)
.tableName(TABLE_NAME)
- .ifTableExists(true)
.zone(ZONE_NAME)
.columns(List.of(
ColumnParams.builder().name("key1").type(ColumnType.INT32).build(),
@@ -197,9 +196,7 @@
assertEquals(0L, table.zoneId());
// Validate another table creation.
- fut = service.createTable(simpleTable(TABLE_NAME_2));
-
- assertThat(fut, willBe((Object) null));
+ assertThat(service.createTable(simpleTable(TABLE_NAME_2)), willBe((Object) null));
// Validate actual catalog has both tables.
schema = service.schema(2);
@@ -217,35 +214,12 @@
assertSame(schema.table(TABLE_NAME_2), service.table(2, System.currentTimeMillis()));
assertNotSame(schema.table(TABLE_NAME), schema.table(TABLE_NAME_2));
- }
- @Test
- public void testCreateTableIfExistsFlag() {
- CreateTableParams params = CreateTableParams.builder()
- .tableName(TABLE_NAME)
- .columns(List.of(
- ColumnParams.builder().name("key").type(ColumnType.INT32).build(),
- ColumnParams.builder().name("val").type(ColumnType.INT32).build()
- ))
- .primaryKeyColumns(List.of("key"))
- .ifTableExists(true)
- .build();
+ // Try to create another table with same name.
+ assertThat(service.createTable(simpleTable(TABLE_NAME_2)), willThrowFast(TableAlreadyExistsException.class));
- assertThat(service.createTable(params), willBe((Object) null));
- assertThat(service.createTable(params), willThrowFast(TableAlreadyExistsException.class));
-
- CompletableFuture<?> fut = service.createTable(
- CreateTableParams.builder()
- .tableName(TABLE_NAME)
- .columns(List.of(
- ColumnParams.builder().name("key").type(ColumnType.INT32).build(),
- ColumnParams.builder().name("val").type(ColumnType.INT32).build()
- ))
- .primaryKeyColumns(List.of("key"))
- .ifTableExists(false)
- .build());
-
- assertThat(fut, willThrowFast(TableAlreadyExistsException.class));
+ // Validate schema wasn't changed.
+ assertSame(schema, service.activeSchema(System.currentTimeMillis()));
}
@Test
@@ -291,38 +265,12 @@
assertSame(schema.table(TABLE_NAME_2), service.table(TABLE_NAME_2, System.currentTimeMillis()));
assertSame(schema.table(TABLE_NAME_2), service.table(2, System.currentTimeMillis()));
- }
- @Test
- public void testDropTableIfExistsFlag() {
- CreateTableParams createTableParams = CreateTableParams.builder()
- .schemaName(SCHEMA_NAME)
- .tableName(TABLE_NAME)
- .columns(List.of(
- ColumnParams.builder().name("key").type(ColumnType.INT32).build(),
- ColumnParams.builder().name("val").type(ColumnType.INT32).build()
- ))
- .primaryKeyColumns(List.of("key"))
- .build();
+ // Try to drop table once again.
+ assertThat(service.dropTable(dropTableParams), willThrowFast(TableNotFoundException.class));
- assertThat(service.createTable(createTableParams), willBe((Object) null));
-
- DropTableParams params = DropTableParams.builder()
- .schemaName(SCHEMA_NAME)
- .tableName(TABLE_NAME)
- .ifTableExists(true)
- .build();
-
- assertThat(service.dropTable(params), willBe((Object) null));
- assertThat(service.dropTable(params), willThrowFast(TableNotFoundException.class));
-
- params = DropTableParams.builder()
- .schemaName(SCHEMA_NAME)
- .tableName(TABLE_NAME)
- .ifTableExists(false)
- .build();
-
- assertThat(service.dropTable(params), willThrowFast(TableNotFoundException.class));
+ // Validate schema wasn't changed.
+ assertSame(schema, service.activeSchema(System.currentTimeMillis()));
}
@Test
@@ -407,26 +355,26 @@
}
@Test
- public void testDropColumnIfTableExistsFlag() {
+ public void testCreateDropColumnIfTableNotExists() {
assertNull(service.table(TABLE_NAME, System.currentTimeMillis()));
- AlterTableAddColumnParams params = AlterTableAddColumnParams.builder()
+ // Try to add a new column.
+ AlterTableAddColumnParams addColumnParams = AlterTableAddColumnParams.builder()
.schemaName(SCHEMA_NAME)
.tableName(TABLE_NAME)
.columns(List.of(ColumnParams.builder().name(NEW_COLUMN_NAME).type(ColumnType.INT32).nullable(true).build()))
- .ifTableExists(false)
.build();
- assertThat(service.addColumn(params), willThrow(TableNotFoundException.class));
+ assertThat(service.addColumn(addColumnParams), willThrow(TableNotFoundException.class));
- params = AlterTableAddColumnParams.builder()
+ // Try to drop column.
+ AlterTableDropColumnParams dropColumnParams = AlterTableDropColumnParams.builder()
.schemaName(SCHEMA_NAME)
.tableName(TABLE_NAME)
- .columns(List.of(ColumnParams.builder().name(NEW_COLUMN_NAME).type(ColumnType.INT32).nullable(true).build()))
- .ifTableExists(true)
+ .columns(Set.of("VAL"))
.build();
- assertThat(service.addColumn(params), willThrow(TableNotFoundException.class));
+ assertThat(service.dropColumn(dropColumnParams), willThrow(TableNotFoundException.class));
}
@Test
@@ -464,29 +412,6 @@
}
@Test
- public void testAddColumnIfTableExistsFlag() {
- assertNull(service.table(TABLE_NAME, System.currentTimeMillis()));
-
- AlterTableAddColumnParams params = AlterTableAddColumnParams.builder()
- .schemaName(SCHEMA_NAME)
- .tableName(TABLE_NAME)
- .columns(List.of(ColumnParams.builder().name(NEW_COLUMN_NAME).type(ColumnType.INT32).nullable(true).build()))
- .ifTableExists(false)
- .build();
-
- assertThat(service.addColumn(params), willThrow(TableNotFoundException.class));
-
- params = AlterTableAddColumnParams.builder()
- .schemaName(SCHEMA_NAME)
- .tableName(TABLE_NAME)
- .columns(List.of(ColumnParams.builder().name(NEW_COLUMN_NAME).type(ColumnType.INT32).nullable(true).build()))
- .ifTableExists(true)
- .build();
-
- assertThat(service.addColumn(params), willThrow(TableNotFoundException.class));
- }
-
- @Test
public void testAddDropMultipleColumns() {
assertThat(service.createTable(simpleTable(TABLE_NAME)), willBe((Object) null));
@@ -610,7 +535,6 @@
CreateTableParams params = CreateTableParams.builder()
.schemaName(SCHEMA_NAME)
.tableName(TABLE_NAME)
- .ifTableExists(true)
.zone(ZONE_NAME)
.columns(List.of(
ColumnParams.builder().name("key1").type(ColumnType.INT32).build(),
@@ -655,7 +579,6 @@
.nullable(true)
.build()
))
- .ifTableExists(true)
.build();
AlterTableDropColumnParams dropColumnParams = AlterTableDropColumnParams.builder()
diff --git a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlToCatalogCommandConverter.java b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlToCatalogCommandConverter.java
index 07f875b..fadf9ec 100644
--- a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlToCatalogCommandConverter.java
+++ b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ddl/DdlToCatalogCommandConverter.java
@@ -43,7 +43,6 @@
return CreateTableParams.builder()
.schemaName(cmd.schemaName())
.tableName(cmd.tableName())
- .ifTableExists(cmd.ifTableExists())
.columns(columns)
.colocationColumns(cmd.colocationColumns())
@@ -58,7 +57,6 @@
return DropTableParams.builder()
.schemaName(cmd.schemaName())
.tableName(cmd.tableName())
- .ifTableExists(cmd.ifTableExists())
.build();
}
@@ -68,7 +66,6 @@
return AlterTableAddColumnParams.builder()
.schemaName(cmd.schemaName())
.tableName(cmd.tableName())
- .ifTableExists(cmd.ifTableExists())
.columns(columns)
@@ -79,7 +76,6 @@
return AlterTableDropColumnParams.builder()
.schemaName(cmd.schemaName())
.tableName(cmd.tableName())
- .ifTableExists(cmd.ifTableExists())
.columns(cmd.columns())