v0.2.6
Added
AI: Natural Language → SQL
-
New AI worker thread (separate tokio runtime, non-blocking)
-
Ctrl+I/ AI button opens NL bar in the active query tab -
Full live schema fetched from
information_schema.columnsbefore every request — AI sees every real table and column, never invents names -
Multi-provider support out of the box:
- Anthropic Claude (
claude-haiku-4-5default) - Groq (
llama-3.3-70b-versatile, free tier) - Ollama (fully local, no key, no egress)
- OpenAI (
gpt-4o-mini) - Custom — any OpenAI-compatible endpoint via base URL
- Anthropic Claude (
-
Settings → AIpanel: provider selector, API key, model override, base URL override -
Generated SQL lands directly in the active editor tab
-
Multi-statement tabs — when multiple
;-separated SELECT statements are run, each result opens in its own tab instead of only showing the last one -
Column Statistics panel — right-click any column header in the result table → 📊 Statistics popup shows total rows, null count/%, distinct value count, min/max text length, and top-10 most frequent values (computed from fetched rows, no extra DB round-trip)
-
Stored procedure / function browser — FUNCTIONS section in the sidebar schema tree shows all functions, procedures, aggregates, and window functions with icons, arg signatures, and return type; right-click → Show Definition / Copy Call; lazy-loaded (only on schema expand), cached, refreshable with F5
-
Schema Diff (Query → Schema Diff) — compare two schemas side-by-side across any two open connections; shows
+added tables,-removed tables,~changed tables with per-column diffs (added/removed/type-changed); computed client-side frominformation_schema.columnswith no extra DB overhead
Performance
display_indicescache — filter/sort indices computed once and cached with dirty flag; no O(n×cols) scan per frame- Content-aware initial column widths (
compute_col_widths) — samples 200 rows once per result set - Schema F5 refresh no-flash — stale table list stays visible with
↻badge until new data arrives; replaced atomically