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)

Reply via email to