-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(sources/Cassandra): add support for Cassandra #1012
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @bpranava, thanks for opening a PR! We have received many feature requests recently so there may be a delay in reviews. But we will try our best to get to it ASAP! |
|
@duwenxin99 I need the cassandra support quite urgently so I thought I'd have a look into why the test failed. But it seems like the details are locked behind google cloud build? Any chance of either opening that up or getting someone to have a look into it? Thanks in advance. |
|
/gcbrun |
|
Hi @bpranava, I left a review for a few small changes and other than these LGTM. Please rebase on the latest main and I'll set up an integration test instance. Again thanks for the contribution! |
Hi @SleeperSmith, currently the test is failing on Cloud Build because we haven't set up a testing instance yet. I just left reviews and will set up testings shortly. You could also connect to your own instance and try to run the tests locally to check for any errors while waiting. Thanks for your patience! |
2715969 to
d2fe094
Compare
I have verified the integration tests with a local singlenode cassandra instance, let me know if there are any issues. Thanks! |
|
/gcbrun |
|
Hi @duwenxin99, any update on this? |
|
Hi @bpranava, is there any reason why Cassandra can't use the generic test functions (e.g. tests.RunToolInvokeTest)? |
|
Hi @bpranava, a gentle ping here: are you still interested in contributing to the Cassandra integration? |
@duwenxin99 thanks for your patience and for taking the time to fix the test setup. I have addressed the review comment regarding authentication |
|
/gcbrun |
[Cassandra](https://cassandra.apache.org/_/cassandra-basics.html) is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition. Cassandra go driver link - https://pkg.go.dev/github.com/apache/cassandra-gocql-driver/v2 This PR - adds a new source for cassandra - adds a new tool _cassandra-cql_ with support for executing predefined parameterized CQL queries on cassandra - adds unit and integration tests for the tool and the source - adds documentation for the cassandra source and cassandra-cql tool --------- Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> Co-authored-by: duwenxin <duwenxin@google.com> 6e42053
[Cassandra](https://cassandra.apache.org/_/cassandra-basics.html) is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition. Cassandra go driver link - https://pkg.go.dev/github.com/apache/cassandra-gocql-driver/v2 This PR - adds a new source for cassandra - adds a new tool _cassandra-cql_ with support for executing predefined parameterized CQL queries on cassandra - adds unit and integration tests for the tool and the source - adds documentation for the cassandra source and cassandra-cql tool --------- Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> Co-authored-by: duwenxin <duwenxin@google.com> 6e42053
|
@bpranava merged. Thanks for the contribution! |
🤖 I have created a release *beep* *boop* --- ## [0.16.0](v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([#1443](#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([#1412](#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([#1012](#1012)) ([6e42053](6e42053)) * **sources/postgres:** Add application_name ([#1504](#1504)) ([72a2366](72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([#1443](#1443)) ([9501ebb](9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([#1412](#1412)) ([88bac7e](88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([#1446](#1446)) ([69a3caf](69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([#1570](#1570)) ([4166bf7](4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([#1545](#1545)) ([295f9dc](295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [0.16.0](v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([#1443](#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([#1412](#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([#1012](#1012)) ([6e42053](6e42053)) * **sources/postgres:** Add application_name ([#1504](#1504)) ([72a2366](72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([#1443](#1443)) ([9501ebb](9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([#1412](#1412)) ([88bac7e](88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([#1446](#1446)) ([69a3caf](69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([#1570](#1570)) ([4166bf7](4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([#1545](#1545)) ([295f9dc](295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 964a82e
🤖 I have created a release *beep* *boop* --- ## [0.16.0](googleapis/genai-toolbox@v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([googleapis#1443](googleapis#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([googleapis#1412](googleapis#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([googleapis#1012](googleapis#1012)) ([6e42053](googleapis@6e42053)) * **sources/postgres:** Add application_name ([googleapis#1504](googleapis#1504)) ([72a2366](googleapis@72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([googleapis#1443](googleapis#1443)) ([9501ebb](googleapis@9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([googleapis#1412](googleapis#1412)) ([88bac7e](googleapis@88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([googleapis#1446](googleapis#1446)) ([69a3caf](googleapis@69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([googleapis#1570](googleapis#1570)) ([4166bf7](googleapis@4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([googleapis#1545](googleapis#1545)) ([295f9dc](googleapis@295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 964a82e
🤖 I have created a release *beep* *boop* --- ## [0.16.0](googleapis/genai-toolbox@v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([googleapis#1443](googleapis#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([googleapis#1412](googleapis#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([googleapis#1012](googleapis#1012)) ([6e42053](googleapis@6e42053)) * **sources/postgres:** Add application_name ([googleapis#1504](googleapis#1504)) ([72a2366](googleapis@72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([googleapis#1443](googleapis#1443)) ([9501ebb](googleapis@9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([googleapis#1412](googleapis#1412)) ([88bac7e](googleapis@88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([googleapis#1446](googleapis#1446)) ([69a3caf](googleapis@69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([googleapis#1570](googleapis#1570)) ([4166bf7](googleapis@4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([googleapis#1545](googleapis#1545)) ([295f9dc](googleapis@295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 964a82e
🤖 I have created a release *beep* *boop* --- ## [0.16.0](googleapis/genai-toolbox@v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([googleapis#1443](googleapis#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([googleapis#1412](googleapis#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([googleapis#1012](googleapis#1012)) ([6e42053](googleapis@6e42053)) * **sources/postgres:** Add application_name ([googleapis#1504](googleapis#1504)) ([72a2366](googleapis@72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([googleapis#1443](googleapis#1443)) ([9501ebb](googleapis@9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([googleapis#1412](googleapis#1412)) ([88bac7e](googleapis@88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([googleapis#1446](googleapis#1446)) ([69a3caf](googleapis@69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([googleapis#1570](googleapis#1570)) ([4166bf7](googleapis@4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([googleapis#1545](googleapis#1545)) ([295f9dc](googleapis@295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 964a82e
[Cassandra](https://cassandra.apache.org/_/cassandra-basics.html) is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition. Cassandra go driver link - https://pkg.go.dev/github.com/apache/cassandra-gocql-driver/v2 This PR - adds a new source for cassandra - adds a new tool _cassandra-cql_ with support for executing predefined parameterized CQL queries on cassandra - adds unit and integration tests for the tool and the source - adds documentation for the cassandra source and cassandra-cql tool --------- Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> Co-authored-by: duwenxin <duwenxin@google.com>
🤖 I have created a release *beep* *boop* --- ## [0.16.0](v0.15.0...v0.16.0) (2025-09-25) ### ⚠ BREAKING CHANGES * **tool/bigquery-execute-sql:** add allowed datasets support ([#1443](#1443)) * **tool/bigquery-forecast:** add allowed datasets support ([#1412](#1412)) ### Features * **cassandra:** Add Cassandra Source and Tool ([#1012](#1012)) ([6e42053](6e42053)) * **sources/postgres:** Add application_name ([#1504](#1504)) ([72a2366](72a2366)) * **tool/bigquery-execute-sql:** Add allowed datasets support ([#1443](#1443)) ([9501ebb](9501ebb)) * **tool/bigquery-forecast:** Add allowed datasets support ([#1412](#1412)) ([88bac7e](88bac7e)) * **tools/clickhouse-list-tables:** Add list-tables tool ([#1446](#1446)) ([69a3caf](69a3caf)) ### Bug Fixes * **tool/mongodb-find:** Fix find tool `limit` field ([#1570](#1570)) ([4166bf7](4166bf7)) * **tools/mongodb:** Concat filter params only once in mongodb update tools ([#1545](#1545)) ([295f9dc](295f9dc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Cassandra is a NoSQL distributed database. By design, NoSQL databases are lightweight, open-source, non-relational, and largely distributed. Counted among their strengths are horizontal scalability, distributed architectures, and a flexible approach to schema definition.
Cassandra go driver link - https://pkg.go.dev/github.com/apache/cassandra-gocql-driver/v2
This PR