0
是否有可能跟蹤卡桑德拉的「保留」?卡桑德拉,開始和結束時間範圍
基本上,我的大部分查詢都會涉及start_time
和end_time
,我會在這裏查找所有與此時相交的預訂。
我的模式是這樣的:
CREATE TABLE IF NOT EXISTS events (
calendar_id text,
uid text,
start_time timestamp,
end_time timestamp,
dummy text,
payload text,
PRIMARY KEY (calendar_id, start_time, end_time, dummy)
);
我輸入一些數據,像這樣:
INSERT INTO events
(calendar_id, start_time, end_time, uid, dummy, payload)
VALUES ('cal1', '2016-07-25T12:30:00-06', '2016-07-25T13:30:00-06', 'event1', '0', '{"description": "test"}');
,我想這樣的查詢:
SELECT * FROM events
WHERE calendar_id = 'cal1'
AND dummy = '0'
AND start_time <= '2016-07-25T13:30:00-06'
AND end_time >= '2016-07-25T12:00:00-06';
我得到這樣的錯誤:
InvalidRequest: code=2200 [Invalid query] message="Clustering column "end_time" cannot be restricted (preceding column "start_time" is restricted by a non-EQ relation)"
我認爲這是可以做到的,因爲它在這太問題似乎如此:Storing time ranges in cassandra
但是,該模式不貼,我們沒有使用pycassa,我似乎無法圖瞭解如何將其映射到CQL。
任何幫助將是偉大的!