Verisyntax — brugermanual (prototype 0.1)

Kombination af tabeller

Et dataset kombinerer en eller flere sources. Version 0.1 understøtter inner join og left join. Alle tabeller i ét dataset skal indtil videre ligge på samme databaseforbindelse.

dataset paid_customer_orders:
  from customers as customer
  inner join orders as order on customer.id = order.customer_id
  select customer.id as customer_id
  select customer.name as customer_name
  select order.total as order_total
  where order.status = "paid"

Compilerens typekontrol afviser ukendte aliases, manglende kolonner, dublerede outputnavne og joins mellem inkompatible typer. Alle tabel-, skema- og kolonnenavne citeres af SQL-generatoren. where accepterer i denne version én valideret sammenligning med =, !=, <, <=, > eller >=; højresiden kan være en kolonne, tekst, et tal, en boolesk værdi eller null.

Se SQL uden at forbinde til databasen:

<compiler>/verisyntax sql model.vsx paid_customer_orders

Kør den genererede query read-only:

<compiler>/verisyntax run model.vsx paid_customer_orders

SQLite åbnes read-only og afbryder en query efter 10 sekunder. PostgreSQL bruger en read-only transaktion og en statement-timeout på 10 sekunder. Begge adaptere afviser mere end 10.000 resultatrækker i prototypen.

En deklareret source kan også vises direkte eller profileres fra terminalen:

<compiler>/verisyntax preview-source model.vsx customers --rows 100
<compiler>/verisyntax profile-join-keys model.vsx customers id orders customer_id

Begge kommandoer er read-only. Profilering måler to eksplicit valgte kolonner på samme forbindelse; den vælger eller godkender ikke en join key.