#2567·Chat2DB

[MySQL] Community feature support and contribution plan

Author: openai0229Created Aug 5, 2026Updated Aug 21, 2026
Labelsdb/mysqledition/community

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 Ready with contribution/good-first-issue or contribution/help-wanted can 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

  1. Open the feature registry or the Community Project and choose a leaf Feature Issue.
  2. Confirm that the Issue is in Project status Ready and has either contribution/good-first-issue or contribution/help-wanted. Backlog Issues and parent or intermediate tracking Issues cannot be claimed.
  3. Read the complete scope, acceptance criteria, dependencies, tests, and required test data, then comment /claim on that leaf Issue.
  4. Wait for the claim bot to assign the Issue. A claim is a seven-day pre-PR lease; one /renew is available, /unclaim releases it, and each contributor may hold only one active claim.
  5. 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.
  6. 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-001 is represented by #2558 and PR #2560, and #2558 is attached as the first native sub-issue.
  • Backlog feature issues will be moved to Ready in reviewable batches. They are visible planning items and cannot be claimed until their leaf issue receives a contribution label.