The rest of FBSimCity is a scaled model: it parses no SQL and runs no
Firebird code. This page is the other thing — the actual Firebird
embedded engine, compiled to WebAssembly by
Electric Firebird
and running in a worker on this page. There is no server. Nothing you
type leaves your machine, and the database is kept in IndexedDB, so it
survives a reload.
It is here so the city can be checked rather than believed. Every
sequence below ends in a number you can compare with something the city
draws.
Read from MON$DATABASE after each statement you run. Watch
next transaction climb: every statement here gets its own
transaction, which is exactly what the Transaction Hall stamps.
Workbench
Results appear here.
Where the city and the engine meet
The left column is something FBSimCity draws. The right column is how you
settle it here. If a row ever disagrees, the city is wrong and the
issue tracker is
the place to say so.
In the city
Ask the engine
What this runtime cannot show you
Stated plainly, because a page that runs the real engine invites the
assumption that everything on it is therefore real.
One attachment, one statement at a time. The city's lock tower
draws writers queueing behind each other. There is no second session
here to queue behind, so no lock wait to watch — only the mechanism, in
the model.
No replication. Firebird 4+ logical replication ships journal
segments to a replica database. There is no replica here, and no
replication.conf. The replication district stays a model.
No gbak, no nbackup. Those are separate programs against a
database file. This engine's pages live in IndexedDB.
Sweep will not run while you watch. The sweep interval is a
real setting and it is reported below, but a fresh database in a short
session never reaches it.
Timings are not a benchmark. WebAssembly in a worker, over
IndexedDB, is not the shape of a server on a disk.
Headless browsers do not run it. Measured with headless Edge:
the page reaches cross-origin isolation, and then the engine worker
fails to start. If you are automating against this page, that is why —
the city itself screenshots fine.