0.8.0: MariaDB + PlanetScale, TimescaleDB, multi-result sets, streaming export, schema diff #27

Merged
adrianbonpin merged 19 commits from feat/0.8.0 into prod 2026-09-11 17:20:45 +00:00
Owner

Summary

Ships Gridline 0.8.0 — five feature areas, all TDD (Red-Green-Refactor), 17 task commits, every suite green.

  • MariaDB — first-class db_type on the MySQL driver path: provider card, type filter, URI parse/copy, full viewer/editing/import/backup parity.
  • PlanetScale preset — managed MySQL (Vitess) provider card + researched setup guide + .psdb.cloud host detection; persists as db_type: mysql.
  • TimescaleDB — runtime extension detection; hypertables surface in the Objects view (dimensions, compression, chunks, size), read-only.
  • Multiple result sets — execute_query_multi with a hand-rolled SQL tokenizer (db/sql_split.rs); stacked result panels + DML/DDL notices + stop-at-first-error.
  • Result streaming to file — full-result CSV/JSONL/JSON export with progress + cancel, constant memory (PG cursor fetch, MySQL/SQLite native streams), fail-closed partial-file cleanup.
  • Schema diff / compare — same-engine snapshot diff (PG/MySQL/SQLite) with dialect-quoted sync SQL; non-destructive items stage into the changes queue, destructive items are copy-only.
  • Version bump 0.7.15 → 0.8.0 across app shell, landing page, README; changelog + ROADMAP backfill (0.7.11–0.7.15) + AGENTS status sync.

Test Plan

  • cargo test — 404 passed, 0 failed, 23 ignored (live tests opt-in via GRIDLINE_TEST_*)
  • bunx vitest run — 131 files / 1119 tests passed
  • bunx tsc --noEmit — clean
  • cargo build, desktop bun run build, www build — all succeed
  • Regression: execute_query untouched, Redis browsing still gated, diff staging reuses the existing addChange queue action
## Summary Ships **Gridline 0.8.0** — five feature areas, all TDD (Red-Green-Refactor), 17 task commits, every suite green. - **MariaDB** — first-class `db_type` on the MySQL driver path: provider card, type filter, URI parse/copy, full viewer/editing/import/backup parity. - **PlanetScale preset** — managed MySQL (Vitess) provider card + researched setup guide + `.psdb.cloud` host detection; persists as `db_type: mysql`. - **TimescaleDB** — runtime extension detection; hypertables surface in the Objects view (dimensions, compression, chunks, size), read-only. - **Multiple result sets** — `execute_query_multi` with a hand-rolled SQL tokenizer (`db/sql_split.rs`); stacked result panels + DML/DDL notices + stop-at-first-error. - **Result streaming to file** — full-result CSV/JSONL/JSON export with progress + cancel, constant memory (PG cursor fetch, MySQL/SQLite native streams), fail-closed partial-file cleanup. - **Schema diff / compare** — same-engine snapshot diff (PG/MySQL/SQLite) with dialect-quoted sync SQL; non-destructive items stage into the changes queue, destructive items are copy-only. - **Version bump** 0.7.15 → 0.8.0 across app shell, landing page, README; changelog + ROADMAP backfill (0.7.11–0.7.15) + AGENTS status sync. ## Test Plan - [x] `cargo test` — 404 passed, 0 failed, 23 ignored (live tests opt-in via `GRIDLINE_TEST_*`) - [x] `bunx vitest run` — 131 files / 1119 tests passed - [x] `bunx tsc --noEmit` — clean - [x] `cargo build`, desktop `bun run build`, `www` build — all succeed - [x] Regression: `execute_query` untouched, Redis browsing still gated, diff staging reuses the existing `addChange` queue action
adrianbonpin added 19 commits 2026-09-09 14:06:02 +00:00
- 0.8.0: schema diff/compare, multiple result sets, result streaming,
  MariaDB, TimescaleDB, PlanetScale preset (Turso dropped — needs a
  libsql driver path, stays in the queue)
- Reorganized: roadmap items up top, all shipped sections consolidated
  below; removed entries redundant with versioned sections
- Fixed stale references (settings import/export shipped in 0.7.8,
  tense fixes in 0.7.8 section, trimmed 0.7.0 deferred list)
adrianbonpin merged commit 5607773299 into prod 2026-09-11 17:20:45 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adrianbonpin/gridline#27