This client is intended to be a simple GUI solution to work with cassandra 3.
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
- Install JDK11 (OpenJDK) or AdoptOpenJDK
- Set
JAVA_HOME
env variable doc
-
Clone the source if you haven't done so.
git clone https://github.com/Kindrat/cassandra-client.git
-
Go to the directory: cd
cassandra-client
-
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
-
Run client
java -jar build/libs/cassadra-client-1.0.2-exec.jar
or from gradle./gradlew bootRun
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.
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