mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-02-09 22:55:26 -05:00
## 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>