Verisyntax — brugermanual (prototype 0.1)

Opskrift: kombiner kunder og ordrer

Det medfølgende projekt <example-project> viser, hvordan to CSV-filer bliver til to typede SQLite-tabeller og kombineres med et typekontrolleret join.

database local:
  engine sqlite
  path "customer_orders.sqlite"

source customers:
  database local
  table "customers"
  column id: integer from "customer_id"
  column name: text
  column country: text
  primary_key id
  provenance row

source orders:
  database local
  table "orders"
  column id: integer from "order_id"
  column customer_id: integer
  column total: real
  column status: text
  primary_key id
  provenance row

dataset paid_customer_orders:
  from customers as customer
  inner join orders as order on customer.id = order.customer_id
  select customer.name as customer_name
  select customer.country as country
  select order.total as order_total
  where order.status = "paid"
  1. Åbn <example-project> som projekt, åbn customer_orders.vsx, og tryk Check.
  2. Initialisér metadata for databasen local.
  3. Vælg sourcen customers, importér customers.csv med create, og kontrollér tre rækker.
  4. Vælg sourcen orders, importér orders.csv med create, og kontrollér fire rækker.
  5. Vælg datasettet paid_customer_orders, tryk Compile C++, Build native og Run.

Resultatet indeholder Customer A med 125.5 og Customer C med 200.0. Bos ordre er pending, og Adas anden ordre er refunded, så de filtreres fra. Joinet er på samme database; Verisyntax udfører ikke et skjult cross-database join.