Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
None
Description
In cqlsh, the desc table command does not make it sufficiently clear which columns are part of the row key and which are clustering keys.
A simple change to the primary key list, though, would make it easier to tell.
Consider the following table definition:
create table my_table { first_column text, second_column text, third_column text, primary key (first_column, second_column, third_column) }
This table has a row key of first_column and clustering keys of second_column, third_column. But if the user intended for the table to have all three in the row key, the correct definition would be:
create table my_table { first_column text, second_column text, third_column text, primary key ((first_column, second_column, third_column)) }
But this is a sufficiently subtle difference that the first may be mistaken for the second or vice-versa.
My suggested solution is to always wrap the row key in parentheses. This is already supported by create table syntax, so it's just a matter of changing desc table to display the create table statement with the primary key always in parentheses, like so:
create table my_table { first_column text, second_column text, third_column text, primary key ((first_column), second_column, third_column) }