Mac OS X (dsc-cassandra-1.2.6) で Datastax cassandra ディストリビューションを使用しています。timeuuid タイプを使用したいので、それらに対するクエリを試していました。
ここに私のテーブルがあります:
CREATE TABLE test_t (
canon_key text,
t timeuuid,
PRIMARY KEY (canon_key, t)
)
ここで、私が行を取得したとしましょう。
cqlsh:pagedb> select canon_key, t, dateOf(t), unixTimestampOf(t) from test_t where canon_key = 'xxx' and t >= minTimeuuid('2013-08-08 18:43:58-0700');
canon_key | t | dateOf(t) | unixTimestampOf(t)
-----------+--------------------------------------+--------------------------+--------------------
xxx | 287d3c30-0095-11e3-9268-a7d2e09193eb | 2013-08-08 18:43:58-0700 | 1376012638067
今、私はこの行を削除したいと思います。timeuuid 型の等価演算子がないため、これを行う良い方法がわかりません。
私が追加しているデータの性質は、私が(おそらく)これを行うことさえ気にしないようなものです:
cqlsh:pagedb> select canon_key, t, dateOf(t), unixTimestampOf(t) from test_t where canon_key = 'xxx' and t >= minTimeuuid('2013-08-08 18:43:58-0700') and t < = maxTimeuuid('2013-08-08 18:43:58-0700');
しかし、ドキュメント ( http://cassandra.apache.org/doc/cql3/CQL.html#usingdates ) によると、それは機能しません。引用: " t >= maxTimeuuid('2013-01-01 00:05+0000') は、正確に '2013-01-01 00:05+0000' に生成された timeuuid を選択しないことに注意してください。 t > maxTimeuuid('2013-01-01 00:05+0000').".
では、この行を削除するにはどうすればよいですか?