Sylvain Lebresne created CASSANDRA-10624:
--------------------------------------------
Summary: Support UDT in CQLSSTableWriter
Key: CASSANDRA-10624
URL: https://issues.apache.org/jira/browse/CASSANDRA-10624
Project: Cassandra
Issue Type: Improvement
Components: CQL
Reporter: Sylvain Lebresne
Fix For: 3.x
As far as I can tell, there is not way to use a UDT with {{CQLSSTableWriter}}
since there is no way to declare it and thus {{CQLSSTableWriter.Builder}} knows
of no UDT when parsing the {{CREATE TABLE}} statement passed.
In terms of API, I think the simplest would be to allow to pass types to the
builder in the same way we pass the table definition. So something like:
{noformat}
String type = "CREATE TYPE myKs.vertex (x int, y int, z int)";
String schema = "CREATE TABLE myKs.myTable ("
+ " k int PRIMARY KEY,"
+ " s set<vertex>"
+ ")";
String insert = ...;
CQLSSTableWriter writer = CQLSSTableWriter.builder()
.inDirectory("path/to/directory")
.withType(type)
.forTable(schema)
.using(insert).build();
{noformat}
I'll note that implementation wise, this might be a bit simpler after the
changes of CASSANDRA-10365 (as it makes it easy to passe specific types during
the preparation of the create statement).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)