Skip to content

Commit 2825fed

Browse files
committed
Make drop column unsupported in CosmosAdmin and DynamoAdmin
1 parent d2b4a97 commit 2825fed

File tree

3 files changed

+10
-26
lines changed

3 files changed

+10
-26
lines changed

core/src/main/java/com/scalar/db/common/CoreError.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,12 @@ public enum CoreError implements ScalarDbError {
684684
"The column %s is specified as a primary key or an index key",
685685
"",
686686
""),
687+
COSMOS_DROP_COLUMN_NOT_SUPPORTED(
688+
Category.USER_ERROR,
689+
"0217",
690+
"Drop column functionality is not supported in Cosmos DB",
691+
"",
692+
""),
687693

688694
//
689695
// Errors for the concurrency error category

core/src/main/java/com/scalar/db/storage/cosmos/CosmosAdmin.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -647,18 +647,8 @@ columnName, getFullTableName(namespace, table)),
647647
@Override
648648
public void dropColumnFromTable(String namespace, String table, String columnName)
649649
throws ExecutionException {
650-
try {
651-
TableMetadata currentTableMetadata = getTableMetadata(namespace, table);
652-
TableMetadata updatedTableMetadata =
653-
TableMetadata.newBuilder(currentTableMetadata).removeColumn(columnName).build();
654-
upsertTableMetadata(namespace, table, updatedTableMetadata);
655-
} catch (ExecutionException e) {
656-
throw new ExecutionException(
657-
String.format(
658-
"Adding the new %s column to the %s container failed",
659-
columnName, getFullTableName(namespace, table)),
660-
e);
661-
}
650+
throw new UnsupportedOperationException(
651+
CoreError.COSMOS_DROP_COLUMN_NOT_SUPPORTED.buildMessage());
662652
}
663653

664654
@Override

core/src/main/java/com/scalar/db/storage/dynamo/DynamoAdmin.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,20 +1443,8 @@ columnName, getFullTableName(namespace, table)),
14431443
@Override
14441444
public void dropColumnFromTable(String nonPrefixedNamespace, String table, String columnName)
14451445
throws ExecutionException {
1446-
Namespace namespace = Namespace.of(namespacePrefix, nonPrefixedNamespace);
1447-
try {
1448-
TableMetadata currentTableMetadata = getTableMetadata(nonPrefixedNamespace, table);
1449-
TableMetadata updatedTableMetadata =
1450-
TableMetadata.newBuilder(currentTableMetadata).removeColumn(columnName).build();
1451-
1452-
upsertTableMetadata(namespace, table, updatedTableMetadata);
1453-
} catch (ExecutionException e) {
1454-
throw new ExecutionException(
1455-
String.format(
1456-
"Dropping the %s column from the %s table failed",
1457-
columnName, getFullTableName(namespace, table)),
1458-
e);
1459-
}
1446+
throw new UnsupportedOperationException(
1447+
"Drop column functionality is not supported in DynamoDB");
14601448
}
14611449

14621450
@Override

0 commit comments

Comments
 (0)