Commit 8a15584
feat: add Cassandra and ScyllaDB database support (#300)
* feat: add Cassandra and ScyllaDB database support
Add Cassandra as the 11th database engine in TablePro, with ScyllaDB as a
secondary type sharing the same plugin (like MySQL/MariaDB). Uses the
DataStax C/C++ driver via a C bridge module.
- CassandraDriverPlugin with full CQL support (keyspaces, tables, views,
indexes, schema introspection via system_schema)
- DatabaseType enum: .cassandra and .scylladb cases across all switch sites
- Connection URL schemes: cassandra://, cql://, scylladb://, scylla://
- Theme colors, icon assets, default port 9042
- CQL dialect with keywords, functions, and data types for autocomplete
- CI workflow support for building downloadable plugin (build-plugin.yml)
- Build script for DataStax cpp-driver + libuv static libraries
- Documentation (English + Vietnamese)
- Tests for DatabaseType properties and URL parsing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: address PR review feedback for Cassandra plugin
* fix: remove orphaned case statement and add default branch for open DatabaseType
* fix: address code review issues in Cassandra plugin driver
* fix: improve Cassandra plugin SSL, type extraction, column ordering, and UX
* fix: register ScyllaDB as additional database type ID in Cassandra plugin
* fix: resolve deadlock, dead code, system keyspace filter, and EXPLAIN handling
* chore: remove pre-built Cassandra libs from PR
* chore: remove pre-built cassandra.h header from PR
* docs: add Chinese translation for Cassandra/ScyllaDB documentation
* chore: remove extra blank line in build-release.sh
* refactor: move Cassandra dialect and metadata from core app into plugin
* refactor: remove redundant explicit no-op case in DatabaseDriver switch
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Ngo Quoc Dat <datlechin@gmail.com>1 parent 37a9a8e commit 8a15584
File tree
32 files changed
+2966
-73
lines changed- .github/workflows
- Plugins/CassandraDriverPlugin
- CCassandra
- TablePro.xcodeproj
- TableProTests
- Core/Utilities
- Models
- TablePro
- Assets.xcassets
- cassandra-icon.imageset
- scylladb-icon.imageset
- Core
- Database
- Utilities/Connection
- Models/Connection
- Views/Main
- Extensions
- docs
- databases
- vi/databases
- zh/databases
- scripts
32 files changed
+2966
-73
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
| 70 | + | |
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
76 | 81 | | |
77 | 82 | | |
78 | 83 | | |
| |||
91 | 96 | | |
92 | 97 | | |
93 | 98 | | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
94 | 104 | | |
95 | 105 | | |
96 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| 53 | + | |
53 | 54 | | |
54 | 55 | | |
55 | 56 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments