Studio is a desktop client for WitDatabase, built on Avalonia: Windows, macOS and Linux from one build. It opens .witdb files, runs queries, edits rows, designs schema, imports and exports.

The window has five zones: the title bar, a toolbar that changes with what is in front of you, the tree, the workspace, and the status bar. Tabs carry the colour of the connection they belong to.

What makes it different from a generic client

It reads the storage layer. Format version, encryption state, which providers a database was built with, memtable fill, SSTable counts, compaction results. A third-party client cannot show any of it, because .witdb is not a format anything else opens.

It tells you what it cannot do. The capability matrix on the Database tab has rows marked "not in the engine", and cache hit rate is one of them, because neither page cache counts hits. A gauge that looked plausible would have been easier to build.

Its own storage is WitDatabase. Query history is kept in a .witdb of Studio's own, which means the tool is a user of the engine it inspects.

Several databases at once

One tree, one root per connection. An action on a node goes to the connection that node came from rather than to whichever connection is active, and closing one leaves the others alone.

A query tab belongs to the connection it was opened against and keeps running there however the tree selection moves. A tab whose connection was closed cannot run, and says so.

Two themes, two languages

Dark by default, following the system unless set explicitly. English and Russian; the screenshots in this documentation are English.

What it does not do

Studio opens a database file on the machine it runs on. There is no remote connection and no server component, and a database another process holds cannot be opened at all. See choosing an API.

It does not update itself either. Studio checks whether a newer release exists and tells you; it downloads nothing and runs nothing, and pre-releases are never offered. Skipping a version is per version rather than for good, since turning the check off is a setting of its own.

Builds are signed on all three platforms: Authenticode, Developer ID with notarization, and a GPG-signed SHA256SUMS.

Known, in 3.0.0

Four labels clip at some window sizes, the status bar does not follow a language change until the next message, a BOOLEAN is drawn as text rather than a checkbox, and an empty string and a single space look the same in the grid.

Versions

Studio is versioned separately from the engine, tagged studio-v* on the releases page. It opens databases written by older engines, and refuses a format version newer than it understands rather than reading it wrongly. See file format.

The rest of this section

To do the same things from code rather than from a window, see providers.