You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "vin01 (JIRA)" <ji...@apache.org> on 2016/07/30 03:54:20 UTC

[jira] [Created] (CASSANDRA-12349) Adding some new features to cqlsh

vin01 created CASSANDRA-12349:
---------------------------------

             Summary: Adding some new features to cqlsh
                 Key: CASSANDRA-12349
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12349
             Project: Cassandra
          Issue Type: New Feature
         Environment: All
            Reporter: vin01
            Priority: Minor


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)