incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tristan Seligmann <mithra...@mithrandi.net>
Subject Re: Cassandra 1.2
Date Mon, 07 Jan 2013 11:10:52 GMT
If you use PRIMARY KEY ((a, b)) instead of PRIMARY KEY (a, b), the
partition key will be a composite of both the a and b values; with
PRIMARY KEY (a, b), the partition key will be a, and the column names
will be a composite of b and the column name (c being the only regular
column here).

I am guessing the strange results you get are a bug; Cassandra should
either refuse to execute the query (this might make sense since there
is no way to partially match on a partition key, other than by
scanning all keys) or give the expected results.

On Sat, Jan 5, 2013 at 6:16 PM, Pierre Chalamet <pierre@chalamet.net> wrote:
> Hello,
>
> Removing the extra parenthesis around the primary key definition seems to
> work as expected:
> CREATE TABLE foo2 (a int, b text, c uuid,   PRIMARY KEY (a, b) );
> INSERT INTO foo2 (a, b , c ) VALUES (  1 , 'aze',
> '4d481800-4c5f-11e1-82e0-3f484de45426');
> INSERT INTO foo2 (a, b , c ) VALUES (  1 , 'ert',
> '693f5800-8acb-11e3-82e0-3f484de45426');
> INSERT INTO foo2 (a, b , c ) VALUES (  1 , 'opl',
> 'd4815800-2d8d-11e0-82e0-3f484de45426');
>
> localhost> select * from foo where a=1;
> +---+-----+--------------------------------------+
> | a | b   | c                                    |
> +===+=====+======================================+
> | 1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426 |
> +---+-----+--------------------------------------+
> | 1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426 |
> +---+-----+--------------------------------------+
>
> localhost> select * from foo2 where a=1;
> +---+-----+--------------------------------------+
> | a | b   | c                                    |
> +===+=====+======================================+
> | 1 | aze | 4d481800-4c5f-11e1-82e0-3f484de45426 |
> +---+-----+--------------------------------------+
> | 1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426 |
> +---+-----+--------------------------------------+
> | 1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426 |
> +---+-----+--------------------------------------+
>
> Looks like there is something weird happening when creating the table.
>
> - Pierre
>
> -----Original Message-----
> From: Kais Ahmed [mailto:kais@neteck-fr.com]
> Sent: Saturday, January 05, 2013 2:30 PM
> To: dev@cassandra.apache.org
> Subject: Cassandra 1.2
>
> Hi all,
>
> I create a table in cassandra 1.2, and makes two queries, the second query
> gives me a false result, is this normal behavior?
>
>
> ----------------------------------------------------------------------------
> ------------------------------------------
> [cqlsh 2.3.0 | Cassandra 1.2.0-SNAPSHOT | CQL spec 3.0.0 | Thrift protocol
> 19.35.0]
>
> cqlsh:test> CREATE TABLE foo (   a int,   b text,   c uuid,   PRIMARY KEY
> ((a, b)) );
>
> cqlsh:test> INSERT INTO foo (a, b , c ) VALUES (  1 , 'aze',
> '4d481800-4c5f-11e1-82e0-3f484de45426');
> cqlsh:test> INSERT INTO foo (a, b , c ) VALUES (  1 , 'ert',
> '693f5800-8acb-11e3-82e0-3f484de45426');
> cqlsh:test> INSERT INTO foo (a, b , c ) VALUES (  1 , 'opl',
> 'd4815800-2d8d-11e0-82e0-3f484de45426');
>
> ----------------------------------------------------------------------------
> -------------------------------------------------------------------------
>
> cqlsh:test> SELECT * FROM foo;
>
>  a | b   | c
> ---+-----+--------------------------------------
>  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
>  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
>  1 | aze | 4d481800-4c5f-11e1-82e0-3f484de45426
>
> ----------------------------------------------------------------------------
> -------------------------------------------------------------------------
>
> cqlsh:test> SELECT * FROM foo where a=1;
>
>  a | b   | c
> ---+-----+--------------------------------------
>  1 | ert | 693f5800-8acb-11e3-82e0-3f484de45426
>  1 | opl | d4815800-2d8d-11e0-82e0-3f484de45426
>



-- 
mithrandi, i Ainil en-Balandor, a faer Ambar

Mime
View raw message