Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Elyra VM Virtual machines for macOS, Linux and Windows on your Mac Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Release notes
Changelog
Elyra

SQL Editor

Each query tab has a CodeMirror 6 editor tuned for the ElyraSQL dialect.

Writing and running

  • Syntax highlighting and schema-aware autocomplete (keywords, tables and columns from the active database's cached schema).
  • Run the whole script or press ⌘/Ctrl + Enter.
  • Multiple statements produce multiple result sets, each with timing, row count and affected rows.
  • ⌘/Ctrl + / toggles line comments.

When a query fails

The server's own message is always shown. With Error help switched on (⌘/Ctrl + , → Error help), the app also works out what kind of failure it was and offers the matching next step — the columns of the table for an unknown column, user administration for a missing privilege, the timeout setting for a statement that ran too long, Try again for something that might just have been bad timing.

The one worth knowing about is "this engine does not implement that". The SQL is valid elsewhere, nothing in the message says to rewrite it, and it is easy to lose ten minutes hunting a typo that is not there. That case gets its own hint and a shortcut to the assistant.

The hint sits beside the error, never instead of it, and appears only when the classification was confident. When the cause is genuinely ambiguous the app stays quiet rather than suggesting the wrong thing.

What is sent

The error message and the name of the engine. Nothing else — not your statement, not your schema, not a row. Every engine names the offending column or table in the message itself, which is what makes that enough.

It goes to TypeSafe, whose Jev model returns a category rather than prose — which is why the app can turn the answer into a button. You need your own TypeSafe key; it is stored in the OS keychain alongside your database passwords. Without a key the feature is simply off and errors display as they always did.

Query plan (EXPLAIN)

Click Explain to run EXPLAIN on the current query and view the plan in the results grid.

Formatting

Format prettifies the current SQL (MySQL dialect, upper-case keywords).

History

Every execution is recorded locally (status, rows, elapsed, timestamp). Open History from the toolbar or ⌘/Ctrl + Y, search past queries, and click one to reopen it in a new tab.

Saved queries

Press ⌘/Ctrl + S to save the current query with a name and optional folder.

Since 0.8.5 they are in the sidebar as well as the command palette. A query saved while a database is selected is listed under that database, as a Queries group beside its Tables and Views; one saved without a database sits in the Saved queries section below the objects. Nothing appears in both places. Deleting one asks first.

Before 0.8.5 the palette was the only way to reach a saved query, and every query was listed for every database regardless of where it was written.

Tabs

  • ⌘/Ctrl + T — new query tab.
  • ⌘/Ctrl + W — close the active tab.
  • Query tabs and table (browse) tabs coexist in the same tab bar.

Free edition

Free runs read-only: SELECT/SHOW/EXPLAIN work; writes and DDL require Pro.