blob: 4a903e7c6b46c4bd95d602d1733b1bfba1daf50b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
open Sexplib.Std
type attr_value = string * Drl.Ast.value
[@@deriving sexp]
type cardinality_spec =
| Finite of int
| AlephZero
| Continuum
| ConstrainedFinite
[@@deriving sexp]
type statement =
| CreateDatabase of string
| CreateRelation of { name: string; schema: (string * string) list }
| RetractRelation of string
| ClearRelation of string
| RegisterDomain of { name: string; cardinality: cardinality_spec }
| InsertTuple of { relation: string; attributes: attr_value list }
| InsertTuples of { relation: string; tuples: attr_value list list }
| DeleteTuple of { relation: string; attributes: attr_value list }
[@@deriving sexp]
|