I'm having issues with getting ALLOW FILTERING to work. In our Cassandra 1.2 database, we have a table like this:
CREATE TABLE some_table
partition_key text,
other_key text,
non_key text,
PRIMARY KEY (partition_key, other_key)
Based on the documentation, this query ought to work:
SELECT *
FROM some_table
WHERE
partition_key = 'foo'
AND other_key > 'bar'
AND non_key = 'baz'
LIMIT 100
ALLOW FILTERING
However, I get this error:
Unable to execute CQL script on 'Your Keyspace': No indexed columns present in by-columns clause with Equal operator
Even this simpler query fails with the same error:
SELECT *
FROM some_table
WHERE
partition_key = 'foo'
AND other_key = 'bar'
AND non_key = 'baz'
LIMIT 100
ALLOW FILTERING
Yes, I'm aware that you can add secondary indexes to tables, but I thought the whole point of ALLOW FILTERING is to enable exceptions when you're ok with the fact that a potentially large amount of scanning is possible.
It seems like ALLOW FILTERING is completely broken. Why they heck doesn't this work?