aboutsummaryrefslogblamecommitdiffstats
path: root/lib/RNT.mli
blob: db9e11175663a283fb0775406331eb15f0482448 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                                                   
                     

                                                        
                                                 






                                                                              

                                                                        














                                                                                   
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}
  | Session of string

type plan = Base of path | Project of plan * string list
type session = {branch: string; snapshot: string}

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 session : kernel -> path -> (session, Condition.condition) result
val pin : kernel -> path -> string -> (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
*)