CQL3触发器实现

时间:2014-07-17 19:02:50

标签: cassandra cql3

我正在尝试为C *实现触发器。在这个特定情况下触发器的需要实际上超出了这个问题的范围,我想我可以使用它来提供物化视图来支持我的数据的一个不常用例。

我正在使用触发器观看的表具有复合行和列键。像这样:

CREATE TABLE mytable (
    uid     uuid,
    d_id    blob,
    a_id    uuid,
    cname   ascii,
    cl_id   blob,
    e_id    blob,
    <some more fields>
PRIMARY KEY ((uid, d_id, a_id, cname), cl_id, e_id)
...

因此,在我的触发器代码中,我需要分解数据的行键和列键。而且,除此之外,我想用我的触发器将一些值写入另一个(CQL)表 - 这意味着生成适当的复合行键。和聚类键值的列名。

最合适和最安全的方法是什么?我试图使用CompositeType来分解原始行键。我应该使用哪种方法作为列名?也许有人可以指出我使用低级Cassandra API写入CQL3表的代码的更全面的例子?我认为这不是处理问题的正确方法,但触发器只能处理低级API。

1 个答案:

答案 0 :(得分:0)

分解复合键的工作代码在这里。 https://github.com/tuplejump/stargate-core/blob/master/src/main/java/com/tuplejump/stargate/cassandra/WideRowIndexSupport.java

请询问您是否需要进一步澄清。