History & Workspaces
Table of contents
Overview
The Results History panel is the History list of the sidebar’s Library navigator (the first icon of the navigator selector in the window toolbar, then History in its scope bar; View > Navigators > Results History). Pharos records your work as workspaces: one workspace per editor-tab session, capturing the tab’s query cards and every result they produced. Reopening a workspace restores the whole session — the cards, each card’s results, even chart configurations. (Query variables are app-wide, not part of a workspace.)
Workspaces
Each workspace row is one line: its name on the left and when it was last active on the right. Hover the row for the rest — how many queries it holds and which connection they ran against. Workspaces are named after their connection automatically (e.g., “analytics”, or “analytics +1” if a second database was also queried); rename them to anything you like.
- Reopen — double-click a workspace to restore it as a live editor tab, with each card and its results. If the workspace is already open in any window, Pharos brings that tab to the front instead. Otherwise it opens in the current tab when that tab is untouched, or in a new tab beside it (see Where opened items go). Double-clicking a specific result in the preview reopens the workspace focused on that result.
- Preview — selecting a workspace lists its results in the lower half of the panel: each with its color dot, label, and column/row counts. A result shows its card’s name here too. Selecting a result previews its SQL in the Inspector.
- Context menu — Rename…, Duplicate, and Delete (multi-select supported for deleting several at once). Individual results in the preview offer Copy SQL and Delete this result.
Cached Results
Result data is cached with each workspace, so reopening usually shows the original rows instantly without re-executing anything. Caches are bounded (per-result and per-workspace limits); when a workspace exceeds its budget, its oldest results are demoted to “SQL only” — their cards reopen saying Results removed instead of showing cached data; run the card again to get them back.
Earlier History
Below the workspaces, an “Earlier history” disclosure holds individual query entries that predate workspaces (and auxiliary queries such as chart server-aggregation runs). Each entry shows the column count and table names with the time on the right; hover it for the row count, the connection, and the start of the SQL. Double-click one to open it as a tab with one card — cached results display immediately when available. Right-click for Copy SQL or Delete; multi-select to batch delete.
What Gets Recorded
Every query you run is recorded automatically — the ones that worked and, by default, the ones that failed. History is retained for 90 days — older workspaces and entries are pruned automatically.
Failed Queries
A query that the server refused leaves a row of its own: a warning glyph, the word Failed, and the server’s message in the row’s tooltip. Cancelled runs read Cancelled. Screen readers hear the word, not the glyph.
- Status — click the funnel in the sidebar’s Filter field to choose what the list shows: All (the default), Succeeded, or Failed. While Succeeded or Failed is chosen, the funnel is filled and the field reads “Filter (Failed)”. Failed is a flat, newest-first list of every failure, whatever workspace it came from; the workspace rows step aside for it.
- What is kept — the SQL that ran, the connection, the time, and the message. There are no rows and no columns to keep: the query never produced any, so the row shows no counts.
- Reopening — double-click a failed row to put its SQL in a tab with one card, ready to correct and run again. Nothing is restored to the results grid, because nothing was returned.
- Not every failure — only answers from the server. A refusal Pharos makes on its own — no connection yet, a variable still unset, an empty editor, a tunnel that closed before anything was sent — says nothing about your SQL, and a history full of those buries the real failures, so they are not recorded.
- Workspaces — a failure belongs to the workspace its tab was in, and is counted among that workspace’s queries. It is not a result: reopening the workspace rebuilds only the results, and the preview pane lists only those.
- Turning it off — Settings ▸ Library & History ▸ Record failed queries. Off stops new failures being recorded; rows already in the history stay until you clear them.
Filtering
The sidebar’s Filter field — along the bottom of the sidebar, Cmd+Opt+J — searches history by SQL text, card notes and workspace names. Its text is remembered per navigator.
Nothing Recorded Yet
Before you have run anything, the panel shows No History — “Queries you run appear here.” Under the Failed scope an empty list says No Failures instead, which is a different thing from having no history at all. A filter that happens to match nothing does not replace either message: the field is still live, so the empty list is the filter’s own answer.