github frkdrgt/ferox v0.2.6

latest releases: v0.2.9, v.0.2.8, v0.2.7...
3 months ago

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.columns before every request — AI sees every real table and column, never invents names

  • Multi-provider support out of the box:

    • Anthropic Claude (claude-haiku-4-5 default)
    • 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
  • Settings → AI panel: 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 from information_schema.columns with no extra DB overhead

Performance

  • display_indices cache — 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

Don't miss a new ferox release

NewReleases is sending notifications on new releases.