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

Adding some new features to cqlsh

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Low
    • Resolution: Won't Fix
    • Fix Version/s: None
    • Component/s: Legacy/Tools
    • Labels:
    • Environment:

      All

      Description

      I will like to have following features in in cqlsh, I have made a patch to enable them as well.

      1. Aliases.
      2. Safe mode (prompt on delete,update,truncate,drop if safe_mode is true).
      3. Press q to exit.

      Its also shared here -> https://github.com/vineet01/cassandra/blob/trunk/new_features.txt

      Example for aliases :-

      cassandra@cqlsh> show
      ; <enter> ALIASES HOST SESSION VERSION
      cassandra@cqlsh> show ALIASES ;
      Aliases :>

      {'dk': 'desc keyspaces;', 'sl': 'select * from'}

      now if you type dk and press <tab> it will auto complete it to "desc keyspace".

      Adding an alias from shell :-

      cassandra@cqlsh> alias slu=select * from login.user ;
      Alias added successfully - sle:select * login.user ;
      cassandra@cqlsh> show ALIASES ;
      Aliases :>

      {'slu': 'select * from login.user ;', 'dk': 'desc keyspaces;', 'sl': 'select * from'}

      cassandra@cqlsh> sle
      Expanded alias to> select * from login.user ;
      username | blacklisted | lastlogin | password

      Adding an alias directly in file :-

      aliases will be kept in same cqlshrc file.
      [aliases]
      dk = desc keyspaces;
      sl = select * from
      sle = select * from login.user ;

      now if we type just "sle" it will autocomplete rest of it and show next options.

      Example of safe mode :-

      cassandra@cqlsh> truncate login.user ;
      Are you sure you want to do this? (y/n) > n
      Not performing any action.

      cassandra@cqlsh> updatee login.user set password=null;
      Are you sure you want to do this? (y/n) >
      Not performing any action.

      Initial commit :- https://github.com/vineet01/cassandra/commit/0bfce2ccfc610021a74a1f82ed24aa63e1b72fec

      Current version :- https://github.com/vineet01/cassandra/blob/trunk/bin/cqlsh.py

      Please review and suggest any improvements.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              vin01 vin01
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: