Hmm. Because the clustering key is (event_time, "timestamp"), event_time must be specified as well - hopefully that info is available to the ux.
Unfortunately you will then hit another problem with your query: you are selecting a collection field... this will not work with IN on "timestamp". So you could select all the "timestamp"s for an asset_id/event_time: > SELECT * from sensor_info_table where asset_id = 'a' and event_time = > 1231234; Or you could apply a range of "timestamp"s: > SELECT * from sensor_info_table where asset_id = 'a' and event_time = > 1231234 and "timestamp" > 1d934af3-3178-11e4-ba8d-406c8f1838fa and > "timestamp" < 20b82021-3178-11e4-abc2-406c8f1838fa; BTW the secondary indices are not a good idea: high cardinality and of no use in this query that I can see. ml On Sun, Aug 31, 2014 at 8:40 PM, Subodh Nijsure <subodh.nijs...@gmail.com> wrote: > Not really event time stamp is created by the sensor when it reads data > and timestamp is something server creates when inserting data into > cassandra db. At later point in time my django ux allows users to browse > this data and reference interesting data points via the timestamp field. > The timestamp field is my bridge between Sal and nosql world. > > Subodh > On Aug 31, 2014 5:33 PM, "Laing, Michael" <michael.la...@nytimes.com> > wrote: > >> Are event_time and timestamp essentially representing the same datetime? >> >> On Sunday, August 31, 2014, Subodh Nijsure <subodh.nijs...@gmail.com> >> wrote: >> >>> I have following database schema >>> >>> CREATE TABLE sensor_info_table ( >>> asset_id text, >>> event_time timestamp, >>> "timestamp" timeuuid, >>> sensor_reading map<text, text>, >>> sensor_serial_number text, >>> sensor_type int, >>> PRIMARY KEY ((asset_id), event_time, "timestamp") >>> ); >>> >>> CREATE INDEX event_time_index ON sensor_info_table (event_time); >>> >>> CREATE INDEX timestamp_index ON sensor_info_table ("timestamp"); >>> >>> Now I am able to insert the data into this table, however I am unable >>> to do following query where I want to select items with specific >>> timeuuid values. >>> >>> It gives me following error. >>> >>> SELECT * from mydb.sensor_info_table where timestamp IN ( >>> bfdfa614-3166-11e4-a61d-b888e30f5d17 , >>> bf4521ac-3166-11e4-87a3-b888e30f5d17) ; >>> >>> Bad Request: PRIMARY KEY column "timestamp" cannot be restricted >>> (preceding column "event_time" is either not restricted or by a non-EQ >>> relation) >>> >>> What do I have to do to make this work? >>> >>> For what its worth I am using django for my front end development and >>> I am using "timestamp timeuuid" field as unique indentifier to >>> reference specific sensor reading from django framework -- since >>> cassandra doesn't have way to generate unique id upon insert (like >>> old-style rdms's auto-fields). >>> >>> >>> Below is software version info. >>> >>> show VERSION ; [cqlsh 4.1.1 | Cassandra 2.0.9 | CQL spec 3.1.1 | >>> Thrift protocol 19.39.0] >>> >>> I really don't understand what the error message preceeding column >>> "event_time" is either not restricted or by no-EQ relation? >>> >>> -Subodh Nijsure >>> >>