[
https://issues.apache.org/jira/browse/CASSANDRA-10491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14950448#comment-14950448
]
Aleksey Yeschenko commented on CASSANDRA-10491:
-----------------------------------------------
What do you suggest doing instead? -1 there is a replacement for {{null}}. The
goal is to be able to let people have large numbers of columns (combined, in
all of their tables in all keyspaces) and still be able to have a low tombstone
warning/error threshold.
> Inconsistent "position" numbering for keys in "system_schema.columns"
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-10491
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10491
> Project: Cassandra
> Issue Type: Bug
> Reporter: Michael Penick
> Assignee: Aleksey Yeschenko
> Priority: Minor
> Labels: client-impacting
>
> A single component primary key starts off with a -1 position.
> {code}
> cqlsh> CREATE TABLE test.table1 (key1 text, value1 text, value2 text, PRIMARY
> KEY(key1));
> cqlsh> SELECT keyspace_name, table_name, column_name, kind, position FROM
> system_schema.columns WHERE keyspace_name = 'test' and table_name = 'table1'
> ;
> keyspace_name | table_name | column_name | kind | position
> ---------------+------------+-------------+---------------+----------
> test | table1 | key1 | partition_key | -1
> test | table1 | value1 | regular | -1
> test | table1 | value2 | regular | -1
> {code}
> A single component clustering key starts off with a 0 position.
> {code}
> cqlsh> CREATE TABLE test.table2 (key1 text, value1 text, value2 text, PRIMARY
> KEY(key1, value1));
> cqlsh> SELECT keyspace_name, table_name, column_name, kind, position FROM
> system_schema.columns WHERE keyspace_name = 'test' and table_name = 'table2'
> ;
> keyspace_name | table_name | column_name | kind | position
> ---------------+------------+-------------+---------------+----------
> test | table2 | key1 | partition_key | -1
> test | table2 | value1 | clustering | 0
> test | table2 | value2 | regular | -1
> {code}
> When another component is added to the primary key it starts at 0.
> {code}
> cqlsh> CREATE TABLE test.table3 (key1 text, value1 text, value2 text, PRIMARY
> KEY((key1, value1)));
> cqlsh> SELECT keyspace_name, table_name, column_name, kind, position FROM
> system_schema.columns WHERE keyspace_name = 'test' and table_name = 'table3'
> ;
> keyspace_name | table_name | column_name | kind | position
> ---------------+------------+-------------+---------------+----------
> test | table3 | key1 | partition_key | 0
> test | table3 | value1 | partition_key | 1
> test | table3 | value2 | regular | -1
> {code}
> which is the same as a multiple component clustering key.
> {code}
> cqlsh> CREATE TABLE test.table4 (key1 text, value1 text, value2 text, PRIMARY
> KEY(key1, value1, value2));
> cqlsh> SELECT keyspace_name, table_name, column_name, kind, position FROM
> system_schema.columns WHERE keyspace_name = 'test' and table_name = 'table4'
> ;
> keyspace_name | table_name | column_name | kind | position
> ---------------+------------+-------------+---------------+----------
> test | table4 | key1 | partition_key | -1
> test | table4 | value1 | clustering | 0
> test | table4 | value2 | clustering | 1
> {code}
> Shouldn't a single component primary key start off with a position of 0?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)