kallaspriit / Cassandra-PHP-Client-Library

Cassandra PHP-based client library for managing and querying your Cassandra cluster
http://cassandra-php-client-library.com
103 stars 25 forks source link

Does Cassandra::getWhere() require at least one condition to be equals? #11

Closed Mark-K closed 12 years ago

Mark-K commented 12 years ago

Please let me ask one question (maybe two).

(Since I could not reopen the previous issue #10. I created a new one. Sorry if that is not appropriate.)

For the test cases containing getWhere tests, the where array is either the only condition is an equals comparison ('age' => 34) or the first condition is as equals comparison ('age', Cassandra::OP_EQ, 34) and the other condition is not ('name', Cassandra::OP_LTE, 'K').

Calling getWhere when the only condition is not an equals expression or when none of the conditions are an equals expression results in an exception.

In order to do a range comparison a single column it appears a dummy column with a constant value is required so that the getWhere equal expression requirement can be satisfied. As in: array(array('one', OP_EQ, 1), array('name', OP_GTE, 'f'))

When using getWhere() is one of the conditions required to be an equals comparison? If so, could a statement to that effect be added to the comment for the getWhere method?

kallaspriit commented 12 years ago

Well no, but to do range queries, you need to use order-preserving partitioner.