カサンドラに次のテーブルがあります。
CREATE TABLE reports (
c_date text,
c_n int,
c_id timeuuid,
report_id bigint,
report text,
PRIMARY KEY ((c_date, c_n), c_id)
)
c_date
レポートを日付別にクエリするためのものです。
c_n
ホットスポットを防止するノードの数 (データを均等に分散するノードの数) です。
c_id
挿入された timeuuid です。
私の選択クエリ(cql 3)は次のとおりです。
select report, dateOf(c_id), report_id
from keyspace.reports
where c_date = '2013-08-02' and
c_n = 1 and
c_id > minTimeuuid('2013-08-02 02:52:10-0400');
結果セットを正常に取得しました。ただし、別の例( here)でcql_get_rows()
実装された関数を使用すると、
タイムスタンプ (dateOf(id)) を正しく解析できず、bigint フィールドは次の警告を生成します。
PHP Warning: unpack(): Type N: not enough input, need 4, have 0
in /home/arascan/my-project/tools/vendor/phpcassa/lib/phpcassa/Schema/DataType/LongType.php on line 47
から返されるデータcql_get_rows()
は次のとおりです。
[0] => Array
(
[reportid] => 281474976712782
[report] => some_report
[dateOf(c_id)] => d:1375426331.32100009918212890625;
)
この関数が警告をスローするのを防ぎ、タイムスタンプを日付形式で取得するにはどうすればよいですか? (@ の使用法を提案しないでください)