Verisyntax — User Manual (prototype 0.1)

Choose SQLite or PostgreSQL

The .vsx program chooses the backend. The import dialog does not guess it.

SQLite uses a local file:

database local:
  engine sqlite
  path "<data-storage>/project.sqlite"

A relative SQLite path is resolved from the saved .vsx project directory. Avoid path ":memory:" for imported data because every process receives a new temporary database.

PostgreSQL uses an environment variable, so a password is never stored in source code or compiler IR:

database warehouse:
  engine postgresql
  connection env "VERISYNTAX_DATABASE_URL"
  schema "public"

Set the connection before opening the app:

export VERISYNTAX_DATABASE_URL='postgresql:///verisyntax'
open "<desktop-release>/Verisyntax IDE.app"

If the database does not exist yet:

createdb verisyntax

A source selects its database by name:

source customers:
  database warehouse
  table "customers"
  column id: integer
  column name: text
  primary_key id
  provenance row

Select warehouse (postgresql) in the IDE and run More tools… → Initialize metadata…. This initializes Verisyntax metadata inside the existing PostgreSQL database; it does not create the PostgreSQL server, database, users, or permissions.

Sources joined in one dataset must use the same database connection. Verisyntax does not silently copy rows between SQLite and PostgreSQL.