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