Cassandra INSERT列集<text>不会保留

时间:2016-08-26 05:20:56

标签: jdbc cassandra cql

问题是当我将一行插入Cassandra表时。列(ciderblocks)似乎没有持久化。没有异常生成。以下是我的架构,

CREATE TABLE atlascarpenter.registration (
    id timeuuid PRIMARY KEY,
    email text,
    firstname text,
    lastname text,
    cidrblocks set<text>
);


我的插入就是这个,

INSERT INTO atlascarpenter.registration
    (id, cidrblocks, email, firstname, lastname)
VALUES 
    (now(), {'222.222.222.0/10','111.111.111.0/10'}, 'john.doe@google.com', 'john', 'doe');

我的查询和结果就是这个,

select * from atlascarpenter.registration

id, cidrblocks, email, firstname, lastname
54ca6860-6b47-11e6-8ddf-c9ea2c0bd7d2    []  jane.doe@company.com    jane    doe

知道为什么cidrblocks是空的吗?

1 个答案:

答案 0 :(得分:0)

原来问题是RazorSQL。如果我使用Cassandra的cqlsh工具转储模式或表的内容,我会看到正确的模式和数据。 RazorSQL的工具表明它与Cassandra兼容,但不幸的是它似乎不支持所有Cassandra数据类型。或者至少它不支持像列表和集合这样的多值类型。奇怪的是我发布了自己的回复作为答案,但我认为这可能对其他人有所帮助。