我在 cassandra 中有下表;
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');
我已成功获得结果集;但是,当我使用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;
)
如何防止此函数抛出警告并获取日期格式的时间戳?(请不要建议@用法)