[ 
https://issues.apache.org/jira/browse/CASSANDRA-5666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5666:
----------------------------------------

    Attachment: 5666.txt

Attached trivial patch for this (that include update of the documentation).

Just to illustrate the problem we currently have, consider (where 
BytesOrderingPartitioner is used):
{noformat}
cqlsh:ks> CREATE TABLE test ( k int PRIMARY KEY);
cqlsh:ks> INSERT INTO test(k) VALUES (1);
cqlsh:ks> INSERT INTO test(k) VALUES (0);
cqlsh:ks> INSERT INTO test(k) VALUES (-1);
cqlsh:ks> SELECT * FROM test;

 k
----
  0
  1
 -1

cqlsh:ks> SELECT * FROM test WHERE k >= -1 AND k < 1;
Bad Request: Start key must sort before (or equal to) finish key in your 
partitioner!

{noformat}
                
> CQL3 should not allow ranges on the partition key without the token() method, 
> even for byte ordered partitioner.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-5666
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5666
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.6
>
>         Attachments: 5666.txt
>
>
> When the partition is an ordered one, CQL3 currently allows non-equal 
> conditions on the partition key directly. I.e. we allow
> {noformat}
> CREATE TABLE t (k timeuuid PRIMARY KEY);
> SELECT * FROM t WHERE k > ... AND k < ...;
> {noformat}
> but this is a bug because even ordered partitioner don't order following the 
> type of the partition key. They order by bytes, always.
> So that type of query doesn't do in general what it is supposed to do and we 
> should disallow it. Even for ordered partitioner, the token() function should 
> be used. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to