Esc

Editor

A dialect-aware SQL editor with schema autocomplete, linting, and statement-at-cursor execution.

Overview

Every console tab and SQL file opens in the same editor, bound to a single connection. The editor handles syntax highlighting, schema-aware autocomplete, inline linting, find and replace, bracket matching, auto-closing brackets, and indentation guides.

Beyond plain SQL, the same editor drives the Redis CLI, Elasticsearch REST, MongoDB shell, Jupyter notebook cells, and dbt / SQLMesh model files. Each gets its own completion provider, so the suggestions match the surface you are typing into.

The Arris SQL Console tab with a multi-line Postgres query using CTEs, date_trunc, SUM, and a LAG window function, syntax-highlighted by identifier role, bound to the prod_postgres connection in Auto transaction mode
A SQL console tab: a multi-CTE query syntax-highlighted by role, bound to a connection.

Dialect awareness

The editor detects the SQL dialect from the connection kind, so keywords, functions, and string-quoting rules are highlighted correctly for your engine:

Autocomplete

Autocomplete is schema-aware and draws from the cached schema of the tab's connection. As you type, it suggests:

The menu opens as you type and also pops automatically at clause boundaries (after FROM, GROUP BY, and ORDER BY). In dbt and SQLMesh model files it additionally completes ref(), source(), and model names.

The Arris editor showing a schema-aware autocomplete popup: a column suggestion country_code typed as character(2) NOT NULL from postgres.public.customers, followed by the COUNT, CONCAT, and COALESCE function suggestions
Autocomplete suggests schema columns with their types and source table, alongside dialect functions.

Running queries

Press ⌘↩ to run. Arris picks what to execute based on context, in this order:

  1. Selection — if text is highlighted, only that text runs.
  2. Statement under the cursor — otherwise the single statement around the cursor runs. Statements are split on unquoted semicolons, ignoring semicolons inside strings and comments.
  3. Whole buffer — if the cursor is not inside any statement, the entire editor runs.

A gutter indicator next to the running statement shows a live spinner and elapsed timer, then a check on success or a cross on error. The run shortcut is the only run-related action bound by default; Stop query ships unbound and can be assigned in Settings → Keymap.

Transactions

The Tx control in the editor toolbar sets how runs are committed. It has two modes and an isolation level, both per connection. Transactions apply to the relational engines that support them: Postgres, Redshift, MySQL, MariaDB, SQLite, DuckDB, SQL Server, Oracle, and Snowflake. On engines without transactions, the control is hidden.

The isolation level is chosen in the same dropdown and takes effect when the transaction opens:

The Arris editor toolbar Tx dropdown open, showing a Transaction Mode group with Auto selected and Manual, and a Transaction Isolation group with Database Default selected and Read Committed, Repeatable Read, and Serializable
The Tx dropdown sets the transaction mode and isolation level for the connection.

In manual mode the toolbar adds three controls: commit, roll back, and a toggle for the transaction panel. Commit and roll back are enabled once the transaction has uncommitted work; while that work is pending you cannot switch back to Auto without first committing or rolling back.

The transaction panel lists the statements run in the open transaction, numbered in order, each with a success or error marker, its SQL, any error message, and the rows it affected. The transaction stays open on its connection even if you switch tabs, and is held in memory only, never persisted.

The Arris Transaction panel listing two numbered statements in the open transaction, a SELECT and an INSERT, each with a green success checkmark and the INSERT reporting one row
In manual mode the Transaction panel tracks each statement in the open transaction until you commit or roll back.

Linting & highlighting

The editor highlights identifiers by role: tables, columns, aliases, and functions each get a distinct color, so the shape of a query is readable at a glance. In federated queries, the leading connection segment of a dotted table reference is tinted with that source's color.

A built-in linter underlines incomplete or misspelled keywords and references that do not match the cached schema, with a warning marker in the gutter. Indentation guides and an optional border around the active statement help you keep long scripts oriented.