Elyra
Elyra The coding agent e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Conductor Local project conductor Elyra SQL Server MySQL-compatible SQL server in Rust Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine
Release notes
Changelog
Elyra

Architecture

ElyraSQL Client is a native desktop app: a Rust core with a Svelte 5 interface rendered in the system webview. It is a self-contained workspace (the shell/runtime crates are vendored under crates/).

Overview

        Svelte 5 UI (system webview)
                 │  typed commands / events (MessagePack IPC)
        ┌────────▼─────────┐
        │    Rust core     │
        │  #[command]s     │
        ├──────────────────┤
        │ db: broker,      │  connection pooling, query engine,
        │ query, browse,   │  keyset pagination, introspection,
        │ edit, designer,  │  row editing, table designer,
        │ import, admin    │  CSV import, user admin
        ├──────────────────┤
        │ store (SQLite) + keychain   license (online)
        └──────────────────┘
                 │  MySQL wire protocol (sqlx)
            ElyraSQL Server

Principles

  • Queries run in the core; the webview only receives results.
  • Streaming-first: result sets and table pages stream rather than materialise wholesale — the basis for smoothness on 10M-row tables.
  • Destructive actions generate SQL that is shown and confirmed before it runs.
  • Typed contracts: Rust types are exported to TypeScript so the IPC surface is checked at build time.
  • Edition gates live in the core (the UI mirrors them), so entitlements can't be bypassed by the interface alone.

Layout

src/            Rust application
  db/           broker, query, browse, introspect, edit, designer, import, admin
  store/        local SQLite metadata + OS keychain
  export.rs     CSV / JSON / SQL / XLSX writers
  edition.rs    edition gates
  license.rs    online license activation + cache
app/            Svelte 5 frontend
crates/         vendored desktop shell + IPC runtime

Talking to ElyraSQL

ElyraSQL Server speaks the MySQL wire protocol, so the core connects with sqlx's MySQL driver while remaining dedicated to ElyraSQL end to end. Some catalog/behaviour specifics are handled in the introspection and query layers.