[ 
https://issues.apache.org/jira/browse/CASSANDRA-6075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14139340#comment-14139340
 ] 

Tyler Hobbs commented on CASSANDRA-6075:
----------------------------------------

If I specify the partition key items out of order, I get a somewhat confusing 
type error message:

{noformat}
cqlsh:ks1> create table foo (a int, b text, c int, d int, PRIMARY KEY ((a, b, 
c)));
cqlsh:ks1> select * from foo WHERE token(a, c, b) > token(0, 0, 'a');
Bad Request: Type error: 0 cannot be passed as argument 1 of function token of 
type text
{noformat}

We need to do the order check prior to the type check or find a way to do the 
type check properly.

> The token function should allow column identifiers in the correct order only
> ----------------------------------------------------------------------------
>
>                 Key: CASSANDRA-6075
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6075
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 1.2.9
>            Reporter: Michaël Figuière
>            Assignee: Benjamin Lerer
>            Priority: Minor
>              Labels: cql
>             Fix For: 2.0.11
>
>         Attachments: CASSANDRA-2.1-6075.txt, CASSANDRA-6075.txt
>
>
> Given the following table:
> {code}
> CREATE TABLE t1 (a int, b text, PRIMARY KEY ((a, b)));
> {code}
> The following request returns an error in cqlsh as literal arguments order is 
> incorrect:
> {code}
> SELECT * FROM t1 WHERE token(a, b) > token('s', 1);
> Bad Request: Type error: 's' cannot be passed as argument 0 of function token 
> of type int
> {code}
> But surprisingly if we provide the column identifier arguments in the wrong 
> order no error is returned:
> {code}
> SELECT * FROM t1 WHERE token(a, b) > token(1, 'a'); // correct order is valid
> SELECT * FROM t1 WHERE token(b, a) > token(1, 'a'); // incorrect order is 
> valid as well
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to