Petter, On 24.10.2013, at 14:38, Petter von Dolwitz (Hem) <petter.von.dolw...@gmail.com> wrote:
> Hi, > > I have a table that (in simplified version) looks like this: > > CREATE TABLE mytable ( > a varchar, > b varchar, > c varchar > d timstamp, > e varchar, > PRIMARY KEY (a, b, c, d) > ); > > CREATE INDEX mytable_c_idx ON mytable ( c ); > > After populating I execute: > > SELECT * FROM mytable WHERE c='myvalue'; > > which works fine. However, using: > > SELECT * FROM mytable WHERE c IN ('myvalue'); > > gives me: > Bad Request: PRIMARY KEY part c cannot be restricted (preceding part b is > either not restricted or by a non-EQ relation) > > Can anybody explain this? You cannot use a part in a where clause unless you specify the preceeding parts also. Think of it this way: To resolve yur restriction, C* would have to do a full scan over all rows to find those rows that have a 'myvalue' C-part. Jan > My aim is to query for more than one value in the c column. Is this supported? > > Thanks, > Petter > > > > >