CASSANDRA-7423 (introduced in 3.6) adds support for non-frozen UDTs and thus the ability to update individual UDT fields, i.e.:
Using QueryBuilder you should be able to build this statement using:
but this currently doesn't work as a.b gets escaped in double quotes as "a.b".
A quick fix for this would be to update Utils.cnamePattern as:
Although there may be a more optimal strategy.
It looks like select("a.b") would be escaped in quotes as well which is not good, and is technically already valid prior to 3.6.
On another note, this could introduce a regression for users if they for whatever reason had a column name like "a.b", so I think we either need to wait to introduce this in next major version, or be very clear in our upgrade notes about this.