Skip to content
Cassandra 3 GUI client
Java
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
doc added readme and images Jul 31, 2017
docker-compose Preload available keyspaces for user selection Jul 27, 2018
gradle/wrapper migrated to openfx and java 11 Nov 18, 2018
src
.gitignore gitignore update Jul 27, 2017
.travis.yml migrated to openfx and java 11 Nov 18, 2018
LICENSE Initial commit Jul 19, 2017
README.md finished export to CSV Jan 25, 2019
build.gradle versions update + fixed text-table conversion Feb 18, 2019
gradle.properties Added ico for all popups, small update for table editor Aug 16, 2018
gradlew Basic window, new connection window, loading table names Jul 29, 2017
gradlew.bat
init_cassandra.cql test data setup, updated cassandra driver module version Jun 13, 2018
settings.gradle initial Jul 27, 2017

README.md

Cassandra GUI client

This client is intended to be a simple GUI solution to work with cassandra 3.

CodeFactor Build Status codecov Known Vulnerabilities

What it already can:

  • connect to cassandra
  • load and show tables
  • show table DDL
  • show table data (simple editable table view with header)
  • apply composite filters to loaded data
  • execute query
  • lazy data load/pagination
  • export data to CSV
  • add/delete tables
  • validation in filter values
  • safe mode with manual commit-reset
  • add/save connections
  • select driver
  • load driver files
  • packaging

Requirements

Build and run

  1. Clone the source if you haven't done so. git clone https://github.com/Kindrat/cassandra-client.git

  2. Go to the directory: cd cassandra-client

  3. Build sources using gradle (add -x test to provided cli command to skip tests):

    3.1 For Windows ./gradlew.bat build

    3.2 For Unix ./gradlew build

  4. Run client java -jar build/libs/cassadra-client-1.0.2-exec.jar or from gradle ./gradlew bootRun

Editor window

On selecting table data from context menu in table list all rows are loaded from cassandra that is quite dangerous when having millions of entries in single table. Lazy loading and pagination is planned but not implemented yet.
On cell edit updated row is immediately sent to cassandra - I'm planning to add safe mode by executing DB queries only on commit button click with ability to reset all local uncommited changes.

Available filters

Type of cassandra column is respected. String value from filter is converted to same type using cassandra driver codecs and column metadata. Filters are combined with AND OR keywords and parentheses brackets.

var1 = val1 AND var2 <= val2 OR (var1 != val2 AND var5 LIKE .*test_value{1,2}.*)
  • equal check
    field = value

  • not equal
    field != value

  • less or equal
    field <= value

  • less than
    field < value

  • greater or equal
    field >= value

  • greater than
    field > value

  • string REGEX check
    field LIKE value
    value should represent Java Pattern-style regex

GUI

Main window

main window

Connect

connect popup

List tables

list tables

Show DDL

show DDL

Show data

show DDL

You can’t perform that action at this time.