Skip to content

feat(sources/mariadb): add MariaDB integration docs and tests#1908

Merged
duwenxin99 merged 14 commits into
googleapis:mainfrom
pkalsi97:feat/mariadb
Dec 9, 2025
Merged

feat(sources/mariadb): add MariaDB integration docs and tests#1908
duwenxin99 merged 14 commits into
googleapis:mainfrom
pkalsi97:feat/mariadb

Conversation

@pkalsi97

@pkalsi97 pkalsi97 commented Nov 8, 2025

Copy link
Copy Markdown
Contributor

Description

This PR

  1. Adds MariaDB as a Source - Implementation is similar to MySQL source
  2. Utilises pre implemented MySQL Tools
  • mysql-execute-sql
  • mysql-list-active-queries
  • mysql-list-table-fragmentation
  • mysql-list-tables
  • mysql-list-tables-missing-unique-indexes
  • mysql-sql
    Note: After discussion with @duwenxin99 in issue Add a new source - Maria DB #1768, I initially assumed MariaDB required new tools due to different metadata structures and system tables. That is true for older MariaDB versions, but current MySQL tooling already works with MariaDB (verified), so a separate tool set was not needed.
  1. Adds a source doc for MariaDB in docs
  2. Adds MariaDB integration tests using the existing MySQL test flow.
    Note: The test file is based on the MySQL integration test, but GetMariaDBWants() and
    RunMariDBListTablesTest() are implemented because MariaDB returns different metadata
    and list-tables output, so the assertions must be MariaDB-specific.
  3. Updates CI

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool, but skipped it because it requires a multi-node Galera setup for integration testing and would significantly increase CI complexity with unclear usage demand.

PR Checklist

  • Make sure you reviewed
    CONTRIBUTING.md
  • Make sure to open an issue as a
    bug/issue
    before writing your code! That way we can discuss the change, evaluate
    designs, and agree on the general idea
  • Ensure the tests and linter pass
  • Code coverage does not decrease (if any source code was changed)
  • Appropriate docs were updated (if necessary)
  • Make sure to add ! if this involve a breaking change

🛠️ Fixes #1712 #1768

@pkalsi97 pkalsi97 requested a review from a team November 8, 2025 09:05
@duwenxin99

Copy link
Copy Markdown
Contributor

Hi @pkalsi97, the PR seems good to me. Could you provide a link to a free version (preferably docker image) of the MariaDB that we can use in the CI/CD pipeline? I'll set up the test instance and come back to trigger the integration test on this PR. Meanwhile, just asking in case of potential GTMs: are you from the MariaDB team?

@pkalsi97

Copy link
Copy Markdown
Contributor Author

@duwenxin99 Thanks for the review!

You can run docker pull on this:
docker.io/library/mariadb:latest

No I am not from mariaDB team.

@duwenxin99 duwenxin99 changed the title feat(mariadb): add MariaDB source, reuse MySQL tools, add integration… feat(sources/mariadb): add MariaDB source and MySQL tools integration Nov 18, 2025
@duwenxin99

Copy link
Copy Markdown
Contributor

/gcbrun

@duwenxin99 duwenxin99 added the tests: run Label to trigger Github Action tests. label Nov 18, 2025
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Nov 18, 2025
@pkalsi97

Copy link
Copy Markdown
Contributor Author

@duwenxin99 Lint and unit tests were failing due to the upstream change adding ToConfig, which wasn’t yet implemented in the MariaDB source. That part is fixed now.

I’m not sure why the integration tests are failing. I suspect it was triggered by the same upstream changes.

@duwenxin99

Copy link
Copy Markdown
Contributor

/gcbrun

@duwenxin99 duwenxin99 added the tests: run Label to trigger Github Action tests. label Nov 19, 2025
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Nov 19, 2025
@duwenxin99

Copy link
Copy Markdown
Contributor

/gcbrun

@duwenxin99

Copy link
Copy Markdown
Contributor

@pkalsi97 There seems to be a connection issue to the test instance. I'll debug it and get back to you.

@pkalsi97

Copy link
Copy Markdown
Contributor Author

@duwenxin99 Thanks, Let me know if you need anything from my side.

@duwenxin99

Copy link
Copy Markdown
Contributor

/gcbrun

@duwenxin99 duwenxin99 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @pkalsi97, the integration tests are now passing. I saw that there are different several parameters used for connecting to MariaDB vs. MySQL but they use the same driver. What differentiate the MariaDB source from the MySQL source? As the latest MariaDB fully supports the MySQL toolsets, I assume there won't be new tools added specifically for the MariaDB source? I'm concerned about the long term maintenance of the MariaDB source. If it is completely the same as the MySQL source, then users could choose to use the MySQL source instead.

Comment thread tests/tool.go
Comment thread tests/common.go Outdated
@pkalsi97

Copy link
Copy Markdown
Contributor Author

@duwenxin99, Thanks for making the Integration test work!

I agree, sources share a wire protocol, so the MySQL source works with MariaDB. We can definitely remove this source and update the MariaDB documentation to state explicitly that it is supported through the MySQL data source.

Regarding tools, The goal was to provide reasonable overlap since MySQL and MariaDB differ substantially in metadata and engine support.

I had plan to support (metadata based tools)

  1. Sequence objects tool
  2. Galera Cluster tool

Since actual demand around metadata specific tooling is unclear right now, we can skip it for now.
If future requests for these tools arise, you can ping me in the issue and I’ll help or implement based on availability.

ToDos:

  1. Update MariaDB docs - state explicitly that it is supported through the MySQL data source.
  2. Remove the MariaDB source
  3. Update integration test to initialise using initMySQLConnectionPool and remove initMariaDB

@pkalsi97 pkalsi97 requested a review from duwenxin99 November 24, 2025 04:33
@duwenxin99

Copy link
Copy Markdown
Contributor

Hi @pkalsi97, can we update the MariaDB doc to make it clear to the users that they should be using the MySQL source and include link to redirect to the MySQL source page? Thanks! For the integration test, I think we can skip it for now if there are no new tools added since it would just be exactly the same as the MySQL test. If we add in MariaDB-specific tools in the future, we can then include the integration test in this PR.
Maybe we should open a new PR instead of modifying the current one so that we can save the code change in case we want to add in MariaDB-specific tools later. How does that sound to you?

@pkalsi97

pkalsi97 commented Nov 24, 2025

Copy link
Copy Markdown
Contributor Author

@duwenxin99 sure
Sure, I’ll update the docs and remove the source file along with its usage in the MySQL tools.

I prefer keeping the integration test since it diverges slightly from the MySQL version, even with the current toolset. I leave it to your better judgement. Please let me know. I'll do accordingly.

I kept this PR medium-sized to keep the review manageable, but I definitely plan to add Sequence objects tool.

@duwenxin99

Copy link
Copy Markdown
Contributor

@duwenxin99 sure Sure, I’ll update the docs and remove the source file along with its usage in the MySQL tools.

I prefer keeping the integration test since it diverges slightly from the MySQL version, even with the current toolset. I leave it to your better judgement. Please let me know. I'll do accordingly.

I kept this PR medium-sized to keep the review manageable, but I definitely plan to add Sequence objects tool.

@pkalsi97, that sounds good to me. Let's keep the integration tests so that it also makes things easier when you add in a sequence objects tool later. Please tag me again when you updated this PR so I can help you merge it in. Thanks again!

@duwenxin99 duwenxin99 added the tests: run Label to trigger Github Action tests. label Dec 9, 2025
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Dec 9, 2025
@duwenxin99 duwenxin99 added the docs: deploy-preview Label to trigger Github Action docs preview. label Dec 9, 2025
@duwenxin99 duwenxin99 added the tests: run Label to trigger Github Action tests. label Dec 9, 2025
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Dec 9, 2025
@duwenxin99 duwenxin99 enabled auto-merge (squash) December 9, 2025 18:38
@duwenxin99 duwenxin99 changed the title feat(sources/mariadb): add MariaDB source and MySQL tools integration feat(sources/mariadb): add MariaDB integration docs and tests Dec 9, 2025
@duwenxin99 duwenxin99 merged commit 3b40fea into googleapis:main Dec 9, 2025
12 checks passed
@pkalsi97

pkalsi97 commented Dec 9, 2025

Copy link
Copy Markdown
Contributor Author

@duwenxin99 Thanks! 😄

@pkalsi97 pkalsi97 deleted the feat/mariadb branch December 9, 2025 18:46
github-actions Bot pushed a commit to pkalsi97/genai-toolbox that referenced this pull request Dec 9, 2025
…egration (googleapis#1908)

## Description
This PR
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue googleapis#1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes googleapis#1712 googleapis#1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3b40fea
github-actions Bot pushed a commit that referenced this pull request Dec 9, 2025
…egration (#1908)

## Description
This PR
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue #1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1712 #1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3b40fea
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Dec 9, 2025
…egration (googleapis#1908)

## Description
This PR
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue googleapis#1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes googleapis#1712 googleapis#1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 3b40fea
rahulpinto19 pushed a commit that referenced this pull request Dec 10, 2025
…#1908)

## Description
This PR 
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue #1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs 
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI 

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1712 #1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
duwenxin99 added a commit that referenced this pull request Dec 11, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.23.0](v0.22.0...v0.23.0)
(2025-12-11)


### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([#2055](#2055))
([78b02f0](78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([#2133](#2133))
([285aa46](285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([#1908](#1908))
([3b40fea](3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))
([489117d](489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([#2030](#2030))
([32367a4](32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([#2038](#2038))
([bea9705](bea9705))


### Bug Fixes

* List tables tools null fix
([#2107](#2107))
([2b45266](2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([#1238](#1238))
([c5a6daa](c5a6daa))


### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([#2159](#2159))
([78e015d](78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Dec 11, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.23.0](v0.22.0...v0.23.0)
(2025-12-11)

### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([#2055](#2055))
([78b02f0](78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([#2133](#2133))
([285aa46](285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([#1908](#1908))
([3b40fea](3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))
([489117d](489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([#2030](#2030))
([32367a4](32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([#2038](#2038))
([bea9705](bea9705))

### Bug Fixes

* List tables tools null fix
([#2107](#2107))
([2b45266](2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([#1238](#1238))
([c5a6daa](c5a6daa))

### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([#2159](#2159))
([78e015d](78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 466aef0
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Dec 11, 2025
🤖 I have created a release *beep* *boop*
---

##
[0.23.0](googleapis/mcp-toolbox@v0.22.0...v0.23.0)
(2025-12-11)

### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([googleapis#2033](googleapis#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([googleapis#2055](googleapis#2055))
([78b02f0](googleapis@78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([googleapis#2133](googleapis#2133))
([285aa46](googleapis@285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](googleapis@e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](googleapis@c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](googleapis@5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([googleapis#1908](googleapis#1908))
([3b40fea](googleapis@3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([googleapis#2033](googleapis#2033))
([489117d](googleapis@489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([googleapis#2030](googleapis#2030))
([32367a4](googleapis@32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([googleapis#2038](googleapis#2038))
([bea9705](googleapis@bea9705))

### Bug Fixes

* List tables tools null fix
([googleapis#2107](googleapis#2107))
([2b45266](googleapis@2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([googleapis#1238](googleapis#1238))
([c5a6daa](googleapis@c5a6daa))

### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([googleapis#2159](googleapis#2159))
([78e015d](googleapis@78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com> 466aef0
rahulpinto19 pushed a commit that referenced this pull request Dec 17, 2025
…#1908)

## Description
This PR 
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue #1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs 
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI 

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #1712 #1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
rahulpinto19 pushed a commit that referenced this pull request Dec 17, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.23.0](v0.22.0...v0.23.0)
(2025-12-11)


### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([#2055](#2055))
([78b02f0](78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([#2133](#2133))
([285aa46](285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([#1908](#1908))
([3b40fea](3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](#2033))
([489117d](489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([#2030](#2030))
([32367a4](32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([#2038](#2038))
([bea9705](bea9705))


### Bug Fixes

* List tables tools null fix
([#2107](#2107))
([2b45266](2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([#1238](#1238))
([c5a6daa](c5a6daa))


### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([#2159](#2159))
([78e015d](78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
vinodhinic pushed a commit to vinodhinic/genai-toolbox that referenced this pull request Jan 14, 2026
…googleapis#1908)

## Description
This PR 
1. Adds **MariaDB** as a Source - Implementation is similar to **MySQL**
source
2. Utilises pre implemented **MySQL** Tools
- `mysql-execute-sql`
- `mysql-list-active-queries`
- `mysql-list-table-fragmentation`
- `mysql-list-tables`
- `mysql-list-tables-missing-unique-indexes`
- `mysql-sql`
**Note:** After discussion with @duwenxin99 in issue googleapis#1768, I initially
assumed MariaDB required new tools due to different metadata structures
and system tables. That is true for older MariaDB versions, but current
MySQL tooling already works with MariaDB (verified), so a separate tool
set was not needed.

3. Adds a source doc for **MariaDB** in docs 
4. Adds MariaDB integration tests using the existing MySQL test flow.
Note: The test file is based on the MySQL integration test, but
`GetMariaDBWants()` and
`RunMariDBListTablesTest()` are implemented because MariaDB returns
different metadata
and list-tables output, so the assertions must be MariaDB-specific.
5. Updates CI 

Lastly
I considered adding a MariaDB-exclusive Galera cluster monitoring tool,
but skipped it because it requires a multi-node Galera setup for
integration testing and would significantly increase CI complexity with
unclear usage demand.

## PR Checklist
- [x] Make sure you reviewed

[CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md)
- [x] Make sure to open an issue as a

[bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose)
  before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [x] Ensure the tests and linter pass
- [x] Code coverage does not decrease (if any source code was changed)
- [x] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes googleapis#1712 googleapis#1768

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
vinodhinic pushed a commit to vinodhinic/genai-toolbox that referenced this pull request Jan 14, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.23.0](googleapis/mcp-toolbox@v0.22.0...v0.23.0)
(2025-12-11)


### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([googleapis#2033](googleapis#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([googleapis#2055](googleapis#2055))
([78b02f0](googleapis@78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([googleapis#2133](googleapis#2133))
([285aa46](googleapis@285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](googleapis@e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](googleapis@c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](googleapis@5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([googleapis#1908](googleapis#1908))
([3b40fea](googleapis@3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([googleapis#2033](googleapis#2033))
([489117d](googleapis@489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([googleapis#2030](googleapis#2030))
([32367a4](googleapis@32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([googleapis#2038](googleapis#2038))
([bea9705](googleapis@bea9705))


### Bug Fixes

* List tables tools null fix
([googleapis#2107](googleapis#2107))
([2b45266](googleapis@2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([googleapis#1238](googleapis#1238))
([c5a6daa](googleapis@c5a6daa))


### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([googleapis#2159](googleapis#2159))
([78e015d](googleapis@78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
NightStack15 added a commit to NightStack15/googleapis-_-genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.23.0](googleapis/mcp-toolbox@v0.22.0...v0.23.0)
(2025-12-11)


### ⚠ BREAKING CHANGES

* **serverless-spark:** add URLs to create batch tool outputs
* **serverless-spark:** add URLs to list_batches output
* **serverless-spark:** add Cloud Console and Logging URLs to get_batch
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](googleapis/mcp-toolbox#2033))

### Features

* **tools/postgres:** Add list-table-stats-tool to list table
statistics.
([#2055](googleapis/mcp-toolbox#2055))
([78b02f0](googleapis/mcp-toolbox@78b02f0))
* **looker/tools:** Enhance dashboard creation with dashboard filters
([#2133](googleapis/mcp-toolbox#2133))
([285aa46](googleapis/mcp-toolbox@285aa46))
* **serverless-spark:** Add Cloud Console and Logging URLs to get_batch
([e29c061](googleapis/mcp-toolbox@e29c061))
* **serverless-spark:** Add URLs to create batch tool outputs
([c6ccf4b](googleapis/mcp-toolbox@c6ccf4b))
* **serverless-spark:** Add URLs to list_batches output
([5605eab](googleapis/mcp-toolbox@5605eab))
* **sources/mariadb:** Add MariaDB source and MySQL tools integration
([#1908](googleapis/mcp-toolbox#1908))
([3b40fea](googleapis/mcp-toolbox@3b40fea))
* **tools/postgres:** Add additional filter params for existing postgres
tools ([#2033](googleapis/mcp-toolbox#2033))
([489117d](googleapis/mcp-toolbox@489117d))
* **tools/postgres:** Add list_pg_settings, list_database_stats tools
for postgres
([#2030](googleapis/mcp-toolbox#2030))
([32367a4](googleapis/mcp-toolbox@32367a4))
* **tools/postgres:** Add new postgres-list-roles tool
([#2038](googleapis/mcp-toolbox#2038))
([bea9705](googleapis/mcp-toolbox@bea9705))


### Bug Fixes

* List tables tools null fix
([#2107](googleapis/mcp-toolbox#2107))
([2b45266](googleapis/mcp-toolbox@2b45266))
* **tools/mongodb:** Removed sortPayload and sortParams
([#1238](googleapis/mcp-toolbox#1238))
([c5a6daa](googleapis/mcp-toolbox@c5a6daa))


### Miscellaneous Chores
* **looker:** Upgrade to latest go sdk
([#2159](googleapis/mcp-toolbox#2159))
([78e015d](googleapis/mcp-toolbox@78e015d))
---
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: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
@robertsilen robertsilen mentioned this pull request May 16, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs: deploy-preview Label to trigger Github Action docs preview.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[source] Maria DB source and tools

2 participants