aboutsummaryrefslogtreecommitdiffstats
path: root/lib/RNT.mli
blob: 841ab2d77ceea14d34a39d19d34941d58a50db12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
type kernel
type handle
type path = string
type tuple = {type_: string; attributes: Value.t Utilities.StringMap.t}
type batch = {tuples: tuple list; exhausted: bool}

type blueprint =
  | Namespace
  | Branch
  | Multigroup
  | Relation of {heading: string Utilities.StringMap.t; tuples: Value.t Utilities.StringMap.t list}

type plan = Base of path | Project of plan * string list

val initialize : Sexplib.Sexp.t -> (kernel, Condition.condition) result
val shutdown : kernel -> unit
val list : kernel -> path -> (string list, Condition.condition) result
val lookup : kernel -> path -> (handle, Condition.condition) result
val create : kernel -> path -> blueprint -> (unit, Condition.condition) result
val remove : kernel -> path -> (unit, Condition.condition) result
val release : handle -> unit
val identity : handle -> string
val describe : handle -> (string Utilities.StringMap.t, Condition.condition) result
val execute : kernel -> plan -> (handle, Condition.condition) result
val enumerate : handle -> (handle, Condition.condition) result
val fetch : handle -> int -> (batch, Condition.condition) result

(*
val authenticate: unit -> unit
val open_snapshot: unit -> unit
val register_domain: unit -> unit
val register_constraint: unit -> unit
val insert_tuple: unit -> unit
val retract_tuple: unit -> unit
*)