[ 
https://issues.apache.org/jira/browse/CASSANDRA-18585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17756963#comment-17756963
 ] 

Stefan Miklosovic edited comment on CASSANDRA-18585 at 8/21/23 3:13 PM:
------------------------------------------------------------------------

I have added patches for 3.11 and 3.0. 

[~adelapena] would you mind to take a look for 3.0 and 3.11? This is going to 
be shipped to 6 branches and I do not want to build something prematurely. 

For 3.0, there is already a condition for UDTs that they can not be unfrozen on 
alter but this logic was reworked in 3.11. So for 3.0 only counter case is 
needed as the other one is already there. I added a test for that though.


was (Author: smiklosovic):
I have added patches for 3.11 and 3.0. 

[~adelapena] would you mind to take a look for 3.0 and 3.11? This is going to 
be shipped to 6 branches and I do not want to build something prematurely. 

> Alter Type does not validate changes like Create Type does
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-18585
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18585
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Schema
>            Reporter: David Capwell
>            Assignee: Roman Mushchinski
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 5.x
>
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Create Type attempts to block undesired field types, but this validation is 
> not cared over to Alter Type Add Field; which allows you to add 
> unexpected/desired types
> {code}
> Assertions.assertThatThrownBy(() -> createType("CREATE TYPE %s (f 
> counter)")).hasRootCauseMessage("A user type cannot contain counters");
> String type = createType(KEYSPACE, "CREATE TYPE %s (a int)");
> schemaChange(String.format("ALTER TYPE %s.%s ADD f counter", KEYSPACE, type));
> UserType udt = 
> Keyspace.open(KEYSPACE).getMetadata().types.get(UTF8Type.instance.decompose(type)).get();
> logger.warn("UDT: {}", udt);
> {code}
> {code}
> UDT: 
> org.apache.cassandra.db.marshal.UserType(cql_test_keyspace,747970655f3031,61:org.apache.cassandra.db.marshal.Int32Type,66:org.apache.cassandra.db.marshal.CounterColumnType)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to