Skip to content

Commit f5db4e0

Browse files
committed
JAVA-1415: UserType.toString should only include 'frozen<>' when frozen
1 parent 106e734 commit f5db4e0

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

driver-core/src/main/java/com/datastax/driver/core/UserType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,10 @@ private String asCQLQuery(boolean formatted) {
291291

292292
@Override
293293
public String toString() {
294-
return "frozen<" + Metadata.escapeId(getKeyspace()) + '.' + Metadata.escapeId(getTypeName()) + ">";
294+
String str = Metadata.escapeId(getKeyspace()) + "." + Metadata.escapeId(getTypeName());
295+
return isFrozen() ?
296+
"frozen<" + str + ">" :
297+
str;
295298
}
296299

297300
@Override

driver-core/src/test/java/com/datastax/driver/core/UserTypesTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -480,8 +480,9 @@ public void should_indicate_user_type_is_frozen() {
480480
assertThat(keyspaceMetadata.getUserType("type_for_frozen_test"))
481481
.isNotFrozen();
482482

483-
assertThat(keyspaceMetadata.getTable("frozen_table").getColumn("v").getType())
484-
.isFrozen();
483+
DataType userType = keyspaceMetadata.getTable("frozen_table").getColumn("v").getType();
484+
assertThat(userType).isFrozen();
485+
assertThat(userType.toString()).isEqualTo("frozen<" + keyspace + ".type_for_frozen_test>");
485486

486487
// The frozen flag is not set for result set definitions (the protocol does not provide
487488
// that information and it's not really useful in that situation). We always return false.
@@ -505,8 +506,9 @@ public void should_indicate_user_type_is_not_frozen() {
505506
assertThat(keyspaceMetadata.getUserType("type_for_frozen_test"))
506507
.isNotFrozen();
507508

508-
assertThat(keyspaceMetadata.getTable("not_frozen_table").getColumn("v").getType())
509-
.isNotFrozen();
509+
DataType userType = keyspaceMetadata.getTable("not_frozen_table").getColumn("v").getType();
510+
assertThat(userType).isNotFrozen();
511+
assertThat(userType.toString()).isEqualTo(keyspace + ".type_for_frozen_test");
510512

511513
ResultSet rs = session().execute("SELECT v FROM not_frozen_table WHERE k = 1");
512514
assertThat(rs.getColumnDefinitions().getType(0))

0 commit comments

Comments
 (0)