blob: 4a903e7c6b46c4bd95d602d1733b1bfba1daf50b (
plain) (
tree)
|
|
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]
|