Cassandra 卡桑德拉,在开始和结束时间范围内工作
是否可以与卡桑德拉一起跟踪“预订” 基本上,我的大多数查询都会涉及一个Cassandra 卡桑德拉,在开始和结束时间范围内工作,cassandra,Cassandra,是否可以与卡桑德拉一起跟踪“预订” 基本上,我的大多数查询都会涉及一个开始时间和一个结束时间,我希望在这里找到与该时间相交的所有预订 我的模式如下所示: CREATE TABLE IF NOT EXISTS events ( calendar_id text, uid text, start_time timestamp, end_time timestamp, dummy text, payload text, PRIMARY KEY (
开始时间
和一个结束时间
,我希望在这里找到与该时间相交的所有预订
我的模式如下所示:
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)"
我输入了一些数据,如下所示:
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)"
我正在尝试这样一个查询:
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)"
我认为这是可以做到的,因为在这个问题上似乎是这样的:
然而,这个模式没有发布,我们也没有使用pycassa,我似乎不知道如何将它映射到CQL
任何帮助都会很好 DataStax网站上有一篇很好的博文,详细解释了在WHERE子句中可以使用什么,以及为什么会有限制。检查。总之,允许对受限制的最后一组群集列进行多列切片限制