This page describes Calíope 1.7, the version I am building right now. 1.6 is on the App Store for the Mac, iPad, iPhone, Apple Watch, Apple TV and Apple Vision Pro. The changelog says which version each feature landed in.

Adds an “Open in Calíope” button to every topic. It only works with the app installed.

Query Log

View the query log

Complete history of executed queries with timing and status.

Where it is: Workspace › Tools › SQL Log

Open the SQL Log from the workspace navigation bar. It has two views:

- Persistent log — every query you run, from this and earlier sessions, kept in a file on disk: its number, date, connection, status (OK/Error), the query and what the server answered.
- Session history — the queries this window ran, with how long each one took.

Double-click a row (on iPad, tap it) to see its detail.

In a Redis or MongoDB session it is called Command Log and keeps what you run: the console commands and, in MongoDB, also queries, writes and indexes. What Calíope asks the server to draw a screen is not kept. It opens filtered by the session's connection, each row shows as it came —not colored as SQL, with passwords masked— and there is no session history, because there is no SQL Editor there. In Redis, Open in console takes a row to the console without running it.

Apple Vision Pro: as on iPad: look at the row and pinch to open it.

Keywords: log, history, queries, query log, record

Filter by session

Show only queries from a specific session.

Where it is: Query Log › Session selector

The Session picker in the Log toolbar filters by session. Each time Calíope starts, a new session ID is generated, and every query run until it quits carries it. Choose All sessions to view the complete history or select a specific session.

Keywords: session, filter, ID, connection session

Search the log

Filter log entries by query text.

Where it is: Query Log › Search

Type in the search field in the Log toolbar to keep only the queries whose text contains it. The search combines with the session, connection and result filters: all of them apply at the same time.

Keywords: search, filter, text, query, find

Filter by connection

Show only queries from a specific connection profile.

Where it is: Query Log › Connection selector

The second picker in the Log toolbar filters entries by connection profile. Choose the server or profile name from the dropdown to see only the queries executed in that context. Select All connections to view the complete history.

Each connection appears as “name (host:port)”, so two profiles with the same name on the same machine —a MySQL and a Redis, for example— are listed separately. Entries written by earlier versions of Calíope carry “name (host)”, without the port, and are listed as another connection.

Keywords: connection, filter, profile, server, connection filter

Filter by result

Show only successful queries or only those that produced an error.

Where it is: Query Log › OK / Error selector

The third picker in the Log toolbar filters by execution status: All, OK (successful queries only), or Error (failed queries only). Combine it with the session filter and the text search to quickly narrow down the relevant entries.

Keywords: error, ok, status, filter result, success, failure

Manually refresh the log

Reload log entries from local storage.

Where it is: Query Log › Reload button

The list keeps itself up to date: every query that gets logged —in this tab or from another one— and whatever arrives from iCloud shows up without you doing anything. The reload button (circular arrow icon) in the Log toolbar reads the file again by hand.

Keywords: refresh, reload, update, log, manual

Copy result from the log

Copy the result of a logged query to the clipboard.

Where it is: Query Log › right-click › Copy result

Open the context menu on any entry in the Query Log — right-click on macOS, press and hold on iPad — and select Copy result. The result (response text or error message) is copied to the clipboard without needing to re-run the query.

Apple Vision Pro: the context menu opens by looking at the row and pinching and holding.

Keywords: copy, result, clipboard, log, context menu

Purge the persistent log

Permanently delete all entries from the SQLite log.

Where it is: Query Log › Purge / Clear

The persistent log is stored in a local SQLite database (query_log.db) in the application support directory. To delete everything, use either of these two methods:

- "Clear" button (trash icon) in the top filter bar.
- "Purge" button in the file info bar at the bottom of the view.

In both cases Calíope shows a confirmation dialog before deleting. The operation removes all rows from the executedqueries table; it does not affect the in-memory session history or the DDL audit log.

This action cannot be undone.

Keywords: clear, purge, delete, remove, log, sqlite, wipe

Log file path and size

Check the location of the query_log.db file and how much space it uses.

Where it is: Query Log › File bar (footer)

The bottom bar of the Persistent Log always shows:

- Full path of the query_log.db file (app support directory).
- Size in B, KB, MB, or GB as appropriate, updated each time the log is reloaded.

On macOS — tap Reveal in Finder to open Finder with the file selected. From there you can make a manual backup or move it.

On iPad — tap Copy path to copy the path to the clipboard.

The typical path on macOS is:
~/Library/Containers/org.caliope.caliope/Data/Library/Application Support/Caliope/query_log.db

Apple Vision Pro: as on iPad, pinch Copy path.

Keywords: path, size, finder, query_log.db, file, location, mb, gb

Sync the log with iCloud

Share your query history across your devices via iCloud.

Where it is: Query Log › iCloud sync button

The cloud icon in the upper-right corner of the Query Log controls synchronisation with iCloud CloudKit. The feature is disabled by default and is entirely optional.

Enabling synchronisation

Tap the cloud icon (grey outline) to enable it. Calíope will ask you:
- Upload existing history — uploads all current local entries to iCloud.
- New entries only — starts syncing from now without uploading previous history.

From that point on, every executed query is saved simultaneously to the local database and to iCloud. The result field is stored with a maximum of 500 characters.

Disabling synchronisation

Tap the filled (blue) cloud icon to disable it. Calíope will ask you:
- Download history from iCloud — downloads all iCloud entries to the current device.
- No, just disable — disables sync without touching local data.
- Turn off and delete the iCloud copy — turns syncing off and also deletes the copy in iCloud, for all your devices; what each device keeps locally stays there.

The first two keep the copy in iCloud: your other devices with syncing on keep reading it.

Status indicators

IconMeaning
Grey cloud (outline)Sync disabled
Filled blue cloudSync active, up to date
Loading indicatorSynchronisation in progress
Red crossed-out cloudSync error (hover to see details)

Retention

The same retention policy configured for the local log (default 90 days) is automatically applied to iCloud records once a day. This keeps both stores aligned to the same time horizon.

Privacy

Data is stored in your personal iCloud account (CloudKit private database), invisible to other users and out of Calíope's reach: no server of mine reads it. Before you turn it on, the confirmation warns that the synced log can carry sensitive information — passwords written in SQL, personal or financial data — and while syncing is on, the same warning stays at the top of the persistent log.

Keywords: icloud, sync, synchronise, cloudkit, cloud, history, share, ipad, mac

Resolve iCloud sync errors

What to do when the cloud icon appears in red.

Where it is: Query Log › Red cloud button

When the sync icon appears crossed out in red, tap it to see the error details and available options:

- Retry — attempts synchronisation again. Use this if the error was temporary (no network, iCloud down).
- Disable sync — disables synchronisation without downloading data. Local history is not modified.

Common causes and solutions:

ErrorCauseSolution
"You are not signed in to iCloud"The iCloud account is not activeOpen System Settings → Apple Account
"iCloud temporarily unavailable"Apple servers are down or no network coverageWait a few minutes and tap Retry
"Account restrictions"Parental controls or MDM blocking CloudKitContact your device administrator
"Could not verify status"No internet connection at launchCheck network and tap Retry

Note: The iCloud account status is verified automatically when the app opens. If the problem is resolved (e.g. you connect to the internet), the icon will return to blue after the next query is executed.

Keywords: error, icloud, sync, red, retry, unavailable, account, troubleshoot

iCloud sync failure notification

Calíope sends a notification when iCloud log sync fails silently.

Where it is: Calíope › Settings › General → Notifications

If the iCloud sync of the query history fails (no connection, full quota, account unavailable), Calíope can alert you with a local notification so you don't lose records without knowing it.

Covered scenarios:
- No Internet connection at sync time.
- iCloud quota exceeded — the notification uses a specific message indicating storage is full.
- iCloud account temporarily unavailable.

Enable or disable:
Go to Settings › General › Notifications and use the iCloud sync failure toggle. This toggle only appears when iCloud sync is turned on in Settings.

The cooldown between notifications is 15 minutes to avoid spam (sync is checked on every executed query).

Keywords: notification, icloud, sync, failure, quota, offline, alert

Take a log entry to the editor

From a row’s menu or from its detail, a button takes the statement to the SQL Editor without running it.

Where it is: Workspace › Tools › SQL Log

From a row’s menu, or from the detail sheet, Open in editor takes the statement to the SQL Editor without running it. On the Mac it opens in a new tab; outside the Mac the editor comes to the front with the statement in place of what it had. The session history works the same way.

With Redis the option is Open in console and takes the command to the console. With MongoDB it is not offered.

Keywords: open in editor, log, statement, history, console

Print the query log

On the Mac, ⌘P with the persistent log in front prints the rows that pass the filters, each with its full statement.

Where it is: Keyboard shortcut: ⌘P

On the Mac, with the persistent log in front, ⌘P prints the rows that pass the filters: each with its number, date, connection, response and the full statement, without cutting it. The session history is not printed.

Printing the log is a Mac feature.

Keywords: print, printout, log, filters, statement