Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gcqlsh

Cassandra command line shell written in Golang

Motivation

Having a cassandra command line shell utility in one binary distributable.

Where it comes in hand?

  • Building docker images for cassandra from Alpine with no Python.
  • Running cql shell on all platforms.
  • Automating cassandra schema creation without need to install python dependencies.

Building

go build -o gocqlsh src/github.com/npenkov/gcqlsh/cmd/gcqlsh.go

Fatures

  • Running DDL script files from command line
  • Support for Cassandra 2.1+/ScyllaDB
  • CQL Support
  • Statement tracing
  • desc command with
    • keyspaces - simple list
    • tables - simple list
    • table - simple list of columns and types
  • Auto completition for commands:
    • use - keyspaces
    • desc - tables
    • select - tables
    • update - tables and columns
    • delete - tables
    • insert - tables

Still missing

  • Paging in interactive results
  • DDL Statements when describing Keyspaces and tables
  • Expanded rows
  • Code assistance for different keyspaces
  • Node token awareness

Command line help

gcqlsh -h
Usage of gcqlsh:
  -f string
        Execute file containing cql statements instead of having interacive session
  -fail-on-error
        Stop execution if statement from file fails.
  -host string
        Cassandra host to connect to (default "127.0.0.1")
  -k string
        Default keyspace to connect to (default "system")
  -no-color
        Console without colors
  -password string
        Password used for the connection
  -port int
        Cassandra RPC port (default 9042)
  -print-confirmation
        Print 'ok' on successfuly executed cql statement from the file
  -print-cql
        Print Statements that are executed from a file
  -username string
        Username used for the connection
  -v    Version information

Planned features

  • desc for table
  • Column code assistance for
    • select
    • update
    • delete
    • insert

Package dependencies


Written with vim-go

License

Copyright (c) 2016-2019 Nick Penkov. All rights reserved. Use of this source code is governed by a MIT-style license that can be found in the LICENSE file.