Skip to content

Commit 8ee66ae

Browse files
committed
Use CoreError for messages of UnsupportedOperationException in Cassandra adapter (#3019)
1 parent c17da30 commit 8ee66ae

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
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
@@ -736,6 +736,12 @@ public enum CoreError implements ScalarDbError {
736736
"The BOOLEAN type is not supported for index columns in DynamoDB. Column: %s",
737737
"",
738738
""),
739+
CASSANDRA_TIMESTAMP_TYPE_NOT_SUPPORTED(
740+
Category.USER_ERROR,
741+
"0227",
742+
"The TIMESTAMP type is not supported in Cassandra. Column: %s",
743+
"",
744+
""),
739745

740746
//
741747
// Errors for the concurrency error category

core/src/main/java/com/scalar/db/storage/cassandra/CassandraAdmin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public void createTable(
8181
for (String column : metadata.getColumnNames()) {
8282
if (metadata.getColumnDataTypes().get(column).equals(DataType.TIMESTAMP)) {
8383
throw new UnsupportedOperationException(
84-
"The TIMESTAMP data type is not supported in Cassandra. column: " + column);
84+
CoreError.CASSANDRA_TIMESTAMP_TYPE_NOT_SUPPORTED.buildMessage(column));
8585
}
8686
}
8787

@@ -324,7 +324,7 @@ public void addNewColumnToTable(
324324
throws ExecutionException {
325325
if (columnType == DataType.TIMESTAMP) {
326326
throw new UnsupportedOperationException(
327-
"The TIMESTAMP data type is not supported in Cassandra. column: " + columnName);
327+
CoreError.CASSANDRA_TIMESTAMP_TYPE_NOT_SUPPORTED.buildMessage(columnName));
328328
}
329329
try {
330330
String alterTableQuery =

core/src/main/java/com/scalar/db/storage/cassandra/ResultInterpreter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.datastax.driver.core.Row;
44
import com.scalar.db.api.Result;
55
import com.scalar.db.api.TableMetadata;
6+
import com.scalar.db.common.CoreError;
67
import com.scalar.db.common.ResultImpl;
78
import com.scalar.db.io.BigIntColumn;
89
import com.scalar.db.io.BlobColumn;
@@ -86,7 +87,7 @@ private Column<?> convert(Row row, String name, DataType type) {
8687
: TimeColumn.of(name, LocalTime.ofNanoOfDay(row.getTime(name)));
8788
case TIMESTAMP:
8889
throw new UnsupportedOperationException(
89-
"The TIMESTAMP type is not supported with Cassandra.");
90+
CoreError.CASSANDRA_TIMESTAMP_TYPE_NOT_SUPPORTED.buildMessage(name));
9091
case TIMESTAMPTZ:
9192
return row.isNull(name)
9293
? TimestampTZColumn.ofNull(name)

core/src/main/java/com/scalar/db/storage/cassandra/ValueBinder.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static com.google.common.base.Preconditions.checkNotNull;
44

55
import com.datastax.driver.core.BoundStatement;
6+
import com.scalar.db.common.CoreError;
67
import com.scalar.db.io.BigIntColumn;
78
import com.scalar.db.io.BlobColumn;
89
import com.scalar.db.io.BooleanColumn;
@@ -134,7 +135,8 @@ public void visit(TimeColumn column) {
134135

135136
@Override
136137
public void visit(TimestampColumn column) {
137-
throw new UnsupportedOperationException("The TIMESTAMP type is not supported with Cassandra");
138+
throw new UnsupportedOperationException(
139+
CoreError.CASSANDRA_TIMESTAMP_TYPE_NOT_SUPPORTED.buildMessage(column.getName()));
138140
}
139141

140142
@Override

0 commit comments

Comments
 (0)