Skip to content

feat(desktop): implement MySQL and SQLite UI parity (#325) - #330

Merged
ZhuchkaTriplesix merged 2 commits into
devfrom
issue/325-mysql-sqlite-parity
Jul 12, 2026
Merged

feat(desktop): implement MySQL and SQLite UI parity (#325)#330
ZhuchkaTriplesix merged 2 commits into
devfrom
issue/325-mysql-sqlite-parity

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Описание изменений

В рамках реализации Единого UI-стандарта для драйверов и расширений (Universal UI Standard) проведен комплекс работ по выравниванию функционала и интерфейсов встроенных драйверов MySQL и SQLite до паритета с эталонным PostgreSQL:

1. MySQL (lib/features/mysql)

  • Управление транзакциями в тулбаре сессии (MysqlSqlWorkspace): Добавлены явные кнопки Begin, Commit и Rollback, отправляющие команды START TRANSACTION;, COMMIT; и ROLLBACK; в активное подключение. Это обеспечивает безопасный и предсказуемый контроль транзакций в интерфейсе наряду с Autocommit.
  • Инспекция процедур и функций (MysqlRoutineView):
    • В MysqlConnection реализованы методы listProcedures и listFunctions (извлечение списка из information_schema.ROUTINES).
    • В боковом дереве объектов (connections_panel_mysql.dart) добавлены узлы и папки для Procedures и Functions.
    • Создан компонент инспектора MysqlRoutineView, отображающий DDL код процедуры или функции на основе SHOW CREATE PROCEDURE / FUNCTION.

2. SQLite (lib/features/sqlite)

  • Вкладка обзора базы данных (SqliteOverviewTab в SqliteWorkspaceHome):
    • При выборе подключения к SQLite на домашнем экране теперь доступен переключатель вкладок Overview и SQL.
    • На вкладке Overview отображаются метаданные файла: размер на диске (или вычисляемый из страниц), версия SQLite (sqlite_version()), статистика страниц (page_count / page_size), режим журнала (journal_mode / WAL) и полный перечень таблиц в базе данных.
  • Инспектор структуры (SqliteTableView):
    • На панель просмотра таблицы/представления добавлена кнопка DDL, позволяющая в один клик получить и изучить SQL-определение объекта из sqlite_master.

Проверка работоспособности

  • Все новые и обновленные модули проверены статическим анализатором и unit/widget тестами (flutter test).
  • 100% тест-кейсов (813 из 813) успешно пройдены без ошибок.

Closes #325

- Add explicit transaction controls (Begin, Commit, Rollback) to MysqlSqlWorkspace
- Add procedure/function listing and MysqlRoutineView DDL inspector via SHOW CREATE PROCEDURE/FUNCTION
- Add SqliteOverviewTab with database size, page statistics, journal mode, version, and table listing
- Add DDL inspector button and dialog to SqliteTableView
@github-actions github-actions Bot added enhancement New feature or request sqlite SQLite database driver and workspace ui User interface components and widgets mysql MySQL database driver and workspace connections Database connections, URI parsing, pools labels Jul 12, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit db75f43 into dev Jul 12, 2026
4 checks passed
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 12, 2026
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
feat(desktop): implement MySQL and SQLite UI parity (#325)
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/325-mysql-sqlite-parity branch July 27, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

connections Database connections, URI parsing, pools enhancement New feature or request mysql MySQL database driver and workspace sqlite SQLite database driver and workspace ui User interface components and widgets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant