Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-7274

Better display table organization on desc table via primary key list

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Fix Version/s: 2.0.9
    • Component/s: None
    • Labels:
      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)
      }
      

        Attachments

        1. 7274-2.txt
          0.7 kB
          Patrick McFadin
        2. 7274.txt
          0.5 kB
          Patrick McFadin

          Activity

            People

            • Assignee:
              pmcfadin Patrick McFadin
              Reporter:
              gworley3 G Gordon Worley III
              Reviewer:
              Aleksey Yeschenko
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: