[MySQL] Community feature support and contribution plan
Goal
Make Chat2DB Community's MySQL support complete at the product level and provide one stable entry point for contributors who want to implement the remaining capabilities.
This is the root tracking issue for MySQL Community feature coverage. Each missing user-facing capability is tracked as a native GitHub sub-issue with a stable MYSQL-* ID. The sub-issue owns its scope, acceptance criteria, compatibility boundary, tests, claim, and implementation pull request.
This parent issue is an index, not a release commitment and not a claimable task.
What counts as implemented
A capability is complete only when a user can finish the workflow through a Chat2DB Community GUI, CLI, or MCP entry point, receive clear success or failure feedback, and refresh or query the database to verify the resulting server state.
Being able to type the equivalent SQL manually in the SQL editor does not mean that the corresponding object-management or operations experience is implemented.
Chat2DB provides the interface, validation, SQL preview, execution controls, and result presentation. MySQL remains responsible for executing the underlying SQL and exposing server metadata; this initiative does not reimplement MySQL server behavior in the application layer.
The current baseline already includes:
- MySQL connection lifecycle, SSH tunnels, JDBC drivers and advanced parameters, connection import/export, and MCP configuration.
- Database, table, column, basic index, view, routine, trigger, and user metadata browsing.
- Database and table lifecycle management, table and column editing, basic index management, result browsing and editing, large-field handling, and query-result export.
- SQL execution, cancellation, output, formatting, completion, basic
EXPLAIN, saved SQL, history, SQL-file execution, and existing import/export workflows. - User lifecycle management and global, database, and table privilege management.
- ER diagrams, schema comparison, charts and dashboards, local AI assistance, CLI access, and MCP integration.
The feature registry below covers the remaining complete user workflows for connections, database objects, data editing, SQL development, security, operations, and import/export.
How contribution work is organized
- This root issue stays unassigned and does not receive a
contribution/*label. - Each feature below becomes a native sub-issue with its own user outcome, scope, non-goals, acceptance criteria, compatibility rules, permissions, tests, and review maintainer.
- Only a leaf sub-issue in Project status
Readywithcontribution/good-first-issueorcontribution/help-wantedcan be claimed with/claim. - If a feature must be delivered through several independently useful pull requests, its feature issue becomes an intermediate parent and only its leaf sub-issues are claimable.
- Sub-issues must remain user-facing vertical features. Frontend, controller, SPI, plugin, and test changes are implementation work inside a feature, not separate community tasks by themselves.
- Dependencies use explicit blocking relationships. A dependency does not automatically make two issues parent and child.
Track workflow state in the Chat2DB Community Project. Issue bodies and linked pull requests remain the source of truth for requirements and delivery evidence.
How to claim a sub-issue
- Open the feature registry or the Community Project and choose a leaf Feature Issue.
- Confirm that the Issue is in Project status
Readyand has eithercontribution/good-first-issueorcontribution/help-wanted.BacklogIssues and parent or intermediate tracking Issues cannot be claimed. - Read the complete scope, acceptance criteria, dependencies, tests, and required test data, then comment
/claimon that leaf Issue. - Wait for the claim bot to assign the Issue. A claim is a seven-day pre-PR lease; one
/renewis available,/unclaimreleases it, and each contributor may hold only one active claim. - Open a focused draft or regular pull request and include
Closes #<sub-issue-number>in the pull request body. Link the pull request to the leaf Issue, not to this parent Issue. - Keep implementation questions, evidence, and review discussion on the leaf Issue or its pull request so another contributor can continue the work if the claim is released.
Feature registry
Connection management
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-CONN-001 |
Structured TLS connection configuration and diagnostics | #2568 |
Database object management
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-OBJ-001 |
Edit Database and Table default character set and collation | #2569 |
MYSQL-OBJ-002 |
Generated column management | #2570 |
MYSQL-OBJ-003 |
Invisible column management | #2571 |
MYSQL-OBJ-004 |
Prefix index management | #2572 |
MYSQL-OBJ-005 |
Functional index management | #2573 |
MYSQL-OBJ-006 |
Visible and invisible index management | #2574 |
MYSQL-OBJ-007 |
Complete foreign key management | #2575 |
MYSQL-OBJ-008 |
Complete CHECK constraint management | #2576 |
MYSQL-OBJ-009 |
Partition inspection and maintenance | #2577 |
MYSQL-OBJ-010 |
Create and drop Views | #2578 |
MYSQL-OBJ-011 |
Create and independently drop Functions and Procedures | #2579 |
MYSQL-OBJ-012 |
Create, edit, and drop Triggers | #2580 |
MYSQL-OBJ-013 |
Complete Event management | #2581 |
MYSQL-OBJ-014 |
InnoDB General Tablespace management | #2582 |
Data editing
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-DATA-001 |
ENUM single-select and SET multi-select editor | #2558 (PR #2560) |
MYSQL-DATA-002 |
JSON invalid-submission protection and scalar/NULL semantics | #2583 |
MYSQL-DATA-003 |
Binary and BIT value editor | #2584 |
MYSQL-DATA-004 |
Geometry structured viewer and map preview | #2585 |
SQL development
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-SQL-001 |
Manual transaction mode and session protection | #2586 |
MYSQL-SQL-002 |
Structured EXPLAIN JSON and EXPLAIN ANALYZE | #2587 |
Account and privilege management
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-SEC-001 |
Rename accounts and change Host | #2588 |
MYSQL-SEC-002 |
Authentication plugins and account TLS requirements | #2589 |
MYSQL-SEC-003 |
Password expiration policy and account resource limits | #2590 |
MYSQL-SEC-004 |
Role lifecycle, grants, and active-role state | #2591 |
MYSQL-SEC-005 |
Column-level privilege management | #2592 |
MYSQL-SEC-006 |
Function and Procedure object-level privileges | #2593 |
Operations and diagnostics
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-OPS-001 |
Session inspection and termination | #2594 |
MYSQL-OPS-002 |
Active transaction inspection | #2595 |
MYSQL-OPS-003 |
Data locks, metadata locks, and blocking chains | #2596 |
MYSQL-OPS-004 |
Variables and Status management | #2597 |
MYSQL-OPS-005 |
Table maintenance operations | #2598 |
MYSQL-OPS-006 |
InnoDB status and latest-deadlock diagnostics | #2599 |
Import and export
| ID | Feature | Sub-issue |
|---|---|---|
MYSQL-IMPORT-001 |
Data import preview and column mapping | #2600 |
MYSQL-IMPORT-002 |
CSV encoding and format options | #2601 |
MYSQL-IMPORT-003 |
Excel sheet, header, and NULL options | #2602 |
MYSQL-IMPORT-004 |
SQL-file encoding, error, and transaction options | #2603 |
Shared completion standard
Every feature sub-issue must define and verify:
- A clear Community user entry point and version or storage-engine gating when the server does not support the capability.
- Final SQL preview for DDL, DCL, maintenance, variable changes, and session termination; secrets must be redacted.
- Execution through the existing JDBC and metadata paths, without relying on server-side shell access.
- Explicit success, failure, and cancellation feedback, including the server message, error code, and SQLSTATE when available.
- Refresh or query-based readback from MySQL after a successful change.
- Appropriate confirmation for destructive operations and least-privilege test accounts.
- Repeatable fixtures and focused automated tests, with MySQL 5.7.44 and 8.0.40 as the default compatibility baselines unless the feature is version-specific.
- English and Simplified Chinese UI text, failure states, compatibility and permission documentation, and public Community-only implementation evidence.
Initial publication
- All 37 registered feature gaps are attached as native sub-issues. Their live workflow status belongs to the Community Project and native sub-issue progress, not this table.
MYSQL-DATA-001is represented by #2558 and PR #2560, and #2558 is attached as the first native sub-issue.- Backlog feature issues will be moved to
Readyin reviewable batches. They are visible planning items and cannot be claimed until their leaf issue receives a contribution label.
Source: OtterMind/Chat2DB