Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
-
Low
-
Clients
Description
A single component partition key starts off with a -1 position.
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
A single component clustering key starts off with a 0 position.
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
When another component is added to the partition key it starts at 0.
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
which is the same as a multiple component clustering key.
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
Shouldn't a single component partition key start off with a position of 0?
Attachments
Issue Links
- is related to
-
CASSANDRA-6717 Modernize schema tables
- Resolved