diff --git a/index.html b/index.html index a4a6b17..5c7af35 100644 --- a/index.html +++ b/index.html @@ -11,11 +11,11 @@

OCaml package documentation

    -
  1. ocsipersist 1.0.1
  2. +
  3. ocsipersist 1.1.0
  4. ocsipersist-dbm 1.0.1
  5. -
  6. ocsipersist-lib 1.0.3
  7. -
  8. ocsipersist-pgsql 1.0.5
  9. -
  10. ocsipersist-sqlite 1.0
  11. +
  12. ocsipersist-lib 1.1.0
  13. +
  14. ocsipersist-pgsql 1.1.0
  15. +
  16. ocsipersist-sqlite 1.1.0
diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Float/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Float/index.html new file mode 100644 index 0000000..a96ad05 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Float/index.html @@ -0,0 +1,2 @@ + +Float (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Column.Float)

Module Column.Float

type t = float
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/argument-1-C/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/argument-1-C/index.html new file mode 100644 index 0000000..4eaf5df --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/argument-1-C/index.html @@ -0,0 +1,2 @@ + +C (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Column.Marshal.1-C)

Parameter Marshal.1-C

type t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/index.html new file mode 100644 index 0000000..1b19c27 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/Marshal/index.html @@ -0,0 +1,2 @@ + +Marshal (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Column.Marshal)

Module Column.Marshal

Parameters

module C : sig ... end

Signature

type t = C.t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/String/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/String/index.html new file mode 100644 index 0000000..14445cb --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/String/index.html @@ -0,0 +1,2 @@ + +String (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Column.String)

Module Column.String

type t = string
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/index.html new file mode 100644 index 0000000..7791598 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Column/index.html @@ -0,0 +1,2 @@ + +Column (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Column)

Module 1-Functorial.Column

module String : COLUMN with type t = string
module Float : COLUMN with type t = float
module Marshal (C : sig ... end) : COLUMN with type t = C.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/Variable/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/Variable/index.html new file mode 100644 index 0000000..bcba33b --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/Variable/index.html @@ -0,0 +1,2 @@ + +Variable (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Table.Variable)

Module Table.Variable

type t
val make : name:key -> default:value -> t
val make_lazy : name:key -> default:(unit -> value) -> t
val make_lazy_lwt : name:key -> default:(unit -> value Lwt.t) -> t
val get : t -> value Lwt.t
val set : t -> value -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-1-T/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-1-T/index.html new file mode 100644 index 0000000..317aabb --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-1-T/index.html @@ -0,0 +1,2 @@ + +T (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Table.1-T)

Parameter Table.1-T

val name : string
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-2-Key/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-2-Key/index.html new file mode 100644 index 0000000..76742d0 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-2-Key/index.html @@ -0,0 +1,2 @@ + +Key (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Table.2-Key)

Parameter Table.2-Key

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-3-Value/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-3-Value/index.html new file mode 100644 index 0000000..5592c95 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/argument-3-Value/index.html @@ -0,0 +1,2 @@ + +Value (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Table.3-Value)

Parameter Table.3-Value

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/index.html new file mode 100644 index 0000000..5065231 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/Table/index.html @@ -0,0 +1,3 @@ + +Table (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.Table)

Module 1-Functorial.Table

Parameters

module T : sig ... end
module Key : COLUMN
module Value : COLUMN

Signature

type key = Key.t
type value = Value.t
val name : string
val find : key -> value Lwt.t
val add : key -> value -> unit Lwt.t
val replace_if_exists : key -> value -> unit Lwt.t
val remove : key -> unit Lwt.t
val modify_opt : key -> (value option -> value option) -> unit Lwt.t
val length : unit -> int Lwt.t
val iter : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit Lwt.t) -> unit Lwt.t
val fold : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> 'a -> 'a Lwt.t) -> 'a -> 'a Lwt.t
val iter_block : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit) -> unit Lwt.t
val iter_batch : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> +((key * value) list -> unit Lwt.t) -> unit Lwt.t
module Variable : sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/index.html new file mode 100644 index 0000000..fcc5606 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/index.html @@ -0,0 +1,2 @@ + +Functorial (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial)

Parameter Polymorphic.1-Functorial

type internal
module type COLUMN = sig ... end
module Table (T : sig ... end) (Key : COLUMN) (Value : COLUMN) : Sigs.TABLE with type key = Key.t and type value = Value.t
module Column : sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/module-type-COLUMN/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/module-type-COLUMN/index.html new file mode 100644 index 0000000..88ff8a8 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/argument-1-Functorial/module-type-COLUMN/index.html @@ -0,0 +1,2 @@ + +COLUMN (ocsipersist-lib.Ocsipersist_lib.Polymorphic.1-Functorial.COLUMN)

Module type 1-Functorial.COLUMN

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Polymorphic/index.html b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/index.html new file mode 100644 index 0000000..c41798b --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Polymorphic/index.html @@ -0,0 +1,2 @@ + +Polymorphic (ocsipersist-lib.Ocsipersist_lib.Polymorphic)

Module Ocsipersist_lib.Polymorphic

deriving polymorphic interface from the functorial one

Parameters

Signature

type 'value table

Type of persistent table

val table_name : 'value table -> string Lwt.t

returns the name of the table

val open_table : string -> 'value table Lwt.t

Open a table (and create it if it does not exist)

val find : 'value table -> string -> 'value Lwt.t

find table key gives the value associated to key. Fails with Not_found if not found.

val add : 'value table -> string -> 'value -> unit Lwt.t

add table key value associates value to key. If the database already contains data associated with key, that data is discarded and silently replaced by the new data.

val replace_if_exists : 'value table -> string -> 'value -> unit Lwt.t

replace_if_exists table key value associates value to key only if key is already bound. If the database does not contain any data associated with key, fails with Not_found.

val remove : 'value table -> string -> unit Lwt.t

remove table key removes the entry in the table if it exists

val length : 'value table -> int Lwt.t

Size of a table.

val iter_step : (string -> 'a -> unit Lwt.t) -> 'a table -> unit Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val fold_step : (string -> 'a -> 'b -> 'b Lwt.t) -> 'a table -> 'b -> 'b Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val iter_block : (string -> 'a -> unit) -> 'a table -> unit Lwt.t

MAJOR WARNING: Unlike iter_step, this iterator won't miss any entry and will run in one shot. It is therefore more efficient, BUT: it will lock the WHOLE database during its execution, thus preventing ANYBODY from accessing it (including the function f which is iterated). As a consequence: you MUST NOT use any function from ocsipersist in f, otherwise you would lock yourself and everybody else! Be VERY cautious.

\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/index.html new file mode 100644 index 0000000..ff360b6 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/index.html @@ -0,0 +1,2 @@ + +Sigs (ocsipersist-lib.Ocsipersist_lib.Sigs)

Module Ocsipersist_lib.Sigs

module type TABLE = sig ... end
module type FUNCTORIAL = sig ... end
module type POLYMORPHIC = sig ... end
module type STORE = sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Float/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Float/index.html new file mode 100644 index 0000000..dc9016d --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Float/index.html @@ -0,0 +1,2 @@ + +Float (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Column.Float)

Module Column.Float

type t = float
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/argument-1-C/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/argument-1-C/index.html new file mode 100644 index 0000000..d5c5026 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/argument-1-C/index.html @@ -0,0 +1,2 @@ + +C (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Column.Marshal.1-C)

Parameter Marshal.1-C

type t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/index.html new file mode 100644 index 0000000..0e85853 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/Marshal/index.html @@ -0,0 +1,2 @@ + +Marshal (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Column.Marshal)

Module Column.Marshal

Parameters

module C : sig ... end

Signature

type t = C.t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/String/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/String/index.html new file mode 100644 index 0000000..ba4e987 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/String/index.html @@ -0,0 +1,2 @@ + +String (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Column.String)

Module Column.String

type t = string
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/index.html new file mode 100644 index 0000000..d8fa55c --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Column/index.html @@ -0,0 +1,2 @@ + +Column (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Column)

Module FUNCTORIAL.Column

module String : COLUMN with type t = string
module Float : COLUMN with type t = float
module Marshal (C : sig ... end) : COLUMN with type t = C.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/Variable/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/Variable/index.html new file mode 100644 index 0000000..a534e90 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/Variable/index.html @@ -0,0 +1,2 @@ + +Variable (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Table.Variable)

Module Table.Variable

type t
val make : name:key -> default:value -> t
val make_lazy : name:key -> default:(unit -> value) -> t
val make_lazy_lwt : name:key -> default:(unit -> value Lwt.t) -> t
val get : t -> value Lwt.t
val set : t -> value -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-1-T/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-1-T/index.html new file mode 100644 index 0000000..96820ee --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-1-T/index.html @@ -0,0 +1,2 @@ + +T (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Table.1-T)

Parameter Table.1-T

val name : string
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-2-Key/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-2-Key/index.html new file mode 100644 index 0000000..1312172 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-2-Key/index.html @@ -0,0 +1,2 @@ + +Key (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Table.2-Key)

Parameter Table.2-Key

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-3-Value/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-3-Value/index.html new file mode 100644 index 0000000..835fc02 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/argument-3-Value/index.html @@ -0,0 +1,2 @@ + +Value (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Table.3-Value)

Parameter Table.3-Value

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/index.html new file mode 100644 index 0000000..1fc14d0 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/Table/index.html @@ -0,0 +1,3 @@ + +Table (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.Table)

Module FUNCTORIAL.Table

Parameters

module T : sig ... end
module Key : COLUMN
module Value : COLUMN

Signature

type key = Key.t
type value = Value.t
val name : string
val find : key -> value Lwt.t
val add : key -> value -> unit Lwt.t
val replace_if_exists : key -> value -> unit Lwt.t
val remove : key -> unit Lwt.t
val modify_opt : key -> (value option -> value option) -> unit Lwt.t
val length : unit -> int Lwt.t
val iter : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit Lwt.t) -> unit Lwt.t
val fold : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> 'a -> 'a Lwt.t) -> 'a -> 'a Lwt.t
val iter_block : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit) -> unit Lwt.t
val iter_batch : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> +((key * value) list -> unit Lwt.t) -> unit Lwt.t
module Variable : sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/index.html new file mode 100644 index 0000000..6610d1b --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/index.html @@ -0,0 +1,2 @@ + +FUNCTORIAL (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL)

Module type Sigs.FUNCTORIAL

type internal
module type COLUMN = sig ... end
module Table (T : sig ... end) (Key : COLUMN) (Value : COLUMN) : TABLE with type key = Key.t and type value = Value.t
module Column : sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/module-type-COLUMN/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/module-type-COLUMN/index.html new file mode 100644 index 0000000..07e56db --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-FUNCTORIAL/module-type-COLUMN/index.html @@ -0,0 +1,2 @@ + +COLUMN (ocsipersist-lib.Ocsipersist_lib.Sigs.FUNCTORIAL.COLUMN)

Module type FUNCTORIAL.COLUMN

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-POLYMORPHIC/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-POLYMORPHIC/index.html new file mode 100644 index 0000000..02e4bcc --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-POLYMORPHIC/index.html @@ -0,0 +1,2 @@ + +POLYMORPHIC (ocsipersist-lib.Ocsipersist_lib.Sigs.POLYMORPHIC)

Module type Sigs.POLYMORPHIC

type 'value table

Type of persistent table

val table_name : 'value table -> string Lwt.t

returns the name of the table

val open_table : string -> 'value table Lwt.t

Open a table (and create it if it does not exist)

val find : 'value table -> string -> 'value Lwt.t

find table key gives the value associated to key. Fails with Not_found if not found.

val add : 'value table -> string -> 'value -> unit Lwt.t

add table key value associates value to key. If the database already contains data associated with key, that data is discarded and silently replaced by the new data.

val replace_if_exists : 'value table -> string -> 'value -> unit Lwt.t

replace_if_exists table key value associates value to key only if key is already bound. If the database does not contain any data associated with key, fails with Not_found.

val remove : 'value table -> string -> unit Lwt.t

remove table key removes the entry in the table if it exists

val length : 'value table -> int Lwt.t

Size of a table.

val iter_step : (string -> 'a -> unit Lwt.t) -> 'a table -> unit Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val fold_step : (string -> 'a -> 'b -> 'b Lwt.t) -> 'a table -> 'b -> 'b Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val iter_block : (string -> 'a -> unit) -> 'a table -> unit Lwt.t

MAJOR WARNING: Unlike iter_step, this iterator won't miss any entry and will run in one shot. It is therefore more efficient, BUT: it will lock the WHOLE database during its execution, thus preventing ANYBODY from accessing it (including the function f which is iterated). As a consequence: you MUST NOT use any function from ocsipersist in f, otherwise you would lock yourself and everybody else! Be VERY cautious.

\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-STORE/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-STORE/index.html new file mode 100644 index 0000000..309b310 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-STORE/index.html @@ -0,0 +1,3 @@ + +STORE (ocsipersist-lib.Ocsipersist_lib.Sigs.STORE)

Module type Sigs.STORE

type 'a t

Type of persistent data

type store

Data are divided into stores. Create one store for your project, where you will save all your data.

val open_store : string -> store Lwt.t

Open a store (and create it if it does not exist)

val make_persistent : store:store -> name:string -> default:'a -> 'a t Lwt.t

make_persistent store name default find a persistent value named name in store store from database, or create it with the default value default if it does not exist.

val make_persistent_lazy : store:store -> name:string -> default:(unit -> 'a) -> 'a t Lwt.t

Same as make_persistent but the default value is evaluated only if needed

val make_persistent_lazy_lwt : store:store -> name:string -> default:(unit -> 'a Lwt.t) -> +'a t Lwt.t

Lwt version of make_persistent_lazy.

val get : 'a t -> 'a Lwt.t

get pv gives the value of pv

val set : 'a t -> 'a -> unit Lwt.t

set pv value sets a persistent value pv to value

\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/Variable/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/Variable/index.html new file mode 100644 index 0000000..2b0af86 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/Variable/index.html @@ -0,0 +1,2 @@ + +Variable (ocsipersist-lib.Ocsipersist_lib.Sigs.TABLE.Variable)

Module TABLE.Variable

type t
val make : name:key -> default:value -> t
val make_lazy : name:key -> default:(unit -> value) -> t
val make_lazy_lwt : name:key -> default:(unit -> value Lwt.t) -> t
val get : t -> value Lwt.t
val set : t -> value -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/index.html b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/index.html new file mode 100644 index 0000000..edd6230 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Sigs/module-type-TABLE/index.html @@ -0,0 +1,3 @@ + +TABLE (ocsipersist-lib.Ocsipersist_lib.Sigs.TABLE)

Module type Sigs.TABLE

type key
type value
val name : string
val find : key -> value Lwt.t
val add : key -> value -> unit Lwt.t
val replace_if_exists : key -> value -> unit Lwt.t
val remove : key -> unit Lwt.t
val modify_opt : key -> (value option -> value option) -> unit Lwt.t
val length : unit -> int Lwt.t
val iter : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit Lwt.t) -> unit Lwt.t
val fold : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> 'a -> 'a Lwt.t) -> 'a -> 'a Lwt.t
val iter_block : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit) -> unit Lwt.t
val iter_batch : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> +((key * value) list -> unit Lwt.t) -> unit Lwt.t
module Variable : sig ... end
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Variable/argument-1-T/index.html b/ocsipersist-lib/Ocsipersist_lib/Variable/argument-1-T/index.html new file mode 100644 index 0000000..991644c --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Variable/argument-1-T/index.html @@ -0,0 +1,2 @@ + +T (ocsipersist-lib.Ocsipersist_lib.Variable.1-T)

Parameter Variable.1-T

type k
type v
val find : k -> v Lwt.t
val add : k -> v -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist-lib/Ocsipersist_lib/Variable/index.html b/ocsipersist-lib/Ocsipersist_lib/Variable/index.html new file mode 100644 index 0000000..bd956b0 --- /dev/null +++ b/ocsipersist-lib/Ocsipersist_lib/Variable/index.html @@ -0,0 +1,2 @@ + +Variable (ocsipersist-lib.Ocsipersist_lib.Variable)

Module Ocsipersist_lib.Variable

Parameters

module T : sig ... end

Signature

type t = {
name : T.k;
default : unit -> T.v Lwt.t;
}
val make_lazy_lwt : name:T.k -> default:(unit -> T.v Lwt.t) -> t
val make_lazy : name:T.k -> default:(unit -> T.v) -> t
val make : name:T.k -> default:T.v -> t
val get : t -> T.v Lwt.t
val set : t -> T.v -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Column/Float/index.html b/ocsipersist/Ocsipersist/Functorial/Column/Float/index.html new file mode 100644 index 0000000..c87dbe4 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Column/Float/index.html @@ -0,0 +1,2 @@ + +Float (ocsipersist.Ocsipersist.Functorial.Column.Float)

Module Column.Float

type t = float
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Column/Marshal/argument-1-C/index.html b/ocsipersist/Ocsipersist/Functorial/Column/Marshal/argument-1-C/index.html new file mode 100644 index 0000000..de6017a --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Column/Marshal/argument-1-C/index.html @@ -0,0 +1,2 @@ + +C (ocsipersist.Ocsipersist.Functorial.Column.Marshal.1-C)

Parameter Marshal.1-C

type t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Column/Marshal/index.html b/ocsipersist/Ocsipersist/Functorial/Column/Marshal/index.html new file mode 100644 index 0000000..e28514d --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Column/Marshal/index.html @@ -0,0 +1,2 @@ + +Marshal (ocsipersist.Ocsipersist.Functorial.Column.Marshal)

Module Column.Marshal

Parameters

module C : sig ... end

Signature

type t = C.t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Column/String/index.html b/ocsipersist/Ocsipersist/Functorial/Column/String/index.html new file mode 100644 index 0000000..320f46b --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Column/String/index.html @@ -0,0 +1,2 @@ + +String (ocsipersist.Ocsipersist.Functorial.Column.String)

Module Column.String

type t = string
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Column/index.html b/ocsipersist/Ocsipersist/Functorial/Column/index.html new file mode 100644 index 0000000..d16747c --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Column/index.html @@ -0,0 +1,2 @@ + +Column (ocsipersist.Ocsipersist.Functorial.Column)

Module Functorial.Column

module String : COLUMN with type t = string
module Float : COLUMN with type t = float
module Marshal (C : sig ... end) : COLUMN with type t = C.t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Table/Variable/index.html b/ocsipersist/Ocsipersist/Functorial/Table/Variable/index.html new file mode 100644 index 0000000..c068de1 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Table/Variable/index.html @@ -0,0 +1,2 @@ + +Variable (ocsipersist.Ocsipersist.Functorial.Table.Variable)

Module Table.Variable

type t
val make : name:key -> default:value -> t
val make_lazy : name:key -> default:(unit -> value) -> t
val make_lazy_lwt : name:key -> default:(unit -> value Lwt.t) -> t
val get : t -> value Lwt.t
val set : t -> value -> unit Lwt.t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Table/argument-1-T/index.html b/ocsipersist/Ocsipersist/Functorial/Table/argument-1-T/index.html new file mode 100644 index 0000000..ce928e1 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Table/argument-1-T/index.html @@ -0,0 +1,2 @@ + +T (ocsipersist.Ocsipersist.Functorial.Table.1-T)

Parameter Table.1-T

val name : string
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Table/argument-2-Key/index.html b/ocsipersist/Ocsipersist/Functorial/Table/argument-2-Key/index.html new file mode 100644 index 0000000..6a79899 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Table/argument-2-Key/index.html @@ -0,0 +1,2 @@ + +Key (ocsipersist.Ocsipersist.Functorial.Table.2-Key)

Parameter Table.2-Key

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Table/argument-3-Value/index.html b/ocsipersist/Ocsipersist/Functorial/Table/argument-3-Value/index.html new file mode 100644 index 0000000..4cee42e --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Table/argument-3-Value/index.html @@ -0,0 +1,2 @@ + +Value (ocsipersist.Ocsipersist.Functorial.Table.3-Value)

Parameter Table.3-Value

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/Table/index.html b/ocsipersist/Ocsipersist/Functorial/Table/index.html new file mode 100644 index 0000000..07fdf15 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/Table/index.html @@ -0,0 +1,3 @@ + +Table (ocsipersist.Ocsipersist.Functorial.Table)

Module Functorial.Table

Parameters

module T : sig ... end
module Key : COLUMN
module Value : COLUMN

Signature

type key = Key.t
type value = Value.t
val name : string
val find : key -> value Lwt.t
val add : key -> value -> unit Lwt.t
val replace_if_exists : key -> value -> unit Lwt.t
val remove : key -> unit Lwt.t
val modify_opt : key -> (value option -> value option) -> unit Lwt.t
val length : unit -> int Lwt.t
val iter : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit Lwt.t) -> unit Lwt.t
val fold : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> 'a -> 'a Lwt.t) -> 'a -> 'a Lwt.t
val iter_block : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> (key -> value -> unit) -> unit Lwt.t
val iter_batch : ?count:int64 -> ?gt:key -> ?geq:key -> ?lt:key -> ?leq:key -> +((key * value) list -> unit Lwt.t) -> unit Lwt.t
module Variable : sig ... end
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/index.html b/ocsipersist/Ocsipersist/Functorial/index.html new file mode 100644 index 0000000..03c7230 --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/index.html @@ -0,0 +1,2 @@ + +Functorial (ocsipersist.Ocsipersist.Functorial)

Module Ocsipersist.Functorial

Functorial frontent. Allows for custom (de)serialisation functions, which keeps data human-readable in the backend.

type internal
module type COLUMN = sig ... end
module Table (T : sig ... end) (Key : COLUMN) (Value : COLUMN) : Ocsipersist_lib.Sigs.TABLE with type key = Key.t and type value = Value.t
module Column : sig ... end
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Functorial/module-type-COLUMN/index.html b/ocsipersist/Ocsipersist/Functorial/module-type-COLUMN/index.html new file mode 100644 index 0000000..a91c13f --- /dev/null +++ b/ocsipersist/Ocsipersist/Functorial/module-type-COLUMN/index.html @@ -0,0 +1,2 @@ + +COLUMN (ocsipersist.Ocsipersist.Functorial.COLUMN)

Module type Functorial.COLUMN

type t
val column_type : string
val encode : t -> internal
val decode : internal -> t
\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Polymorphic/index.html b/ocsipersist/Ocsipersist/Polymorphic/index.html new file mode 100644 index 0000000..a977f08 --- /dev/null +++ b/ocsipersist/Ocsipersist/Polymorphic/index.html @@ -0,0 +1,2 @@ + +Polymorphic (ocsipersist.Ocsipersist.Polymorphic)

Module Ocsipersist.Polymorphic

Polymorphic frontent. Relies on Marshal for (de)serialisation, which means that data will be stored in the backend in a fashion that is not necessarily easily readable by non-OCaml-based life forms. If this is an issue for you, you can rely on the functorial frontend instead.

type 'value table

Type of persistent table

val table_name : 'value table -> string Lwt.t

returns the name of the table

val open_table : string -> 'value table Lwt.t

Open a table (and create it if it does not exist)

val find : 'value table -> string -> 'value Lwt.t

find table key gives the value associated to key. Fails with Not_found if not found.

val add : 'value table -> string -> 'value -> unit Lwt.t

add table key value associates value to key. If the database already contains data associated with key, that data is discarded and silently replaced by the new data.

val replace_if_exists : 'value table -> string -> 'value -> unit Lwt.t

replace_if_exists table key value associates value to key only if key is already bound. If the database does not contain any data associated with key, fails with Not_found.

val remove : 'value table -> string -> unit Lwt.t

remove table key removes the entry in the table if it exists

val length : 'value table -> int Lwt.t

Size of a table.

val iter_step : (string -> 'a -> unit Lwt.t) -> 'a table -> unit Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val fold_step : (string -> 'a -> 'b -> 'b Lwt.t) -> 'a table -> 'b -> 'b Lwt.t

Important warning: this iterator may not iter on all data of the table if another thread is modifying it in the same time. Nonetheless, it should not miss more than a very few data from time to time, except if the table is very old (at least 9 223 372 036 854 775 807 insertions).

val iter_block : (string -> 'a -> unit) -> 'a table -> unit Lwt.t

MAJOR WARNING: Unlike iter_step, this iterator won't miss any entry and will run in one shot. It is therefore more efficient, BUT: it will lock the WHOLE database during its execution, thus preventing ANYBODY from accessing it (including the function f which is iterated). As a consequence: you MUST NOT use any function from ocsipersist in f, otherwise you would lock yourself and everybody else! Be VERY cautious.

\ No newline at end of file diff --git a/ocsipersist/Ocsipersist/Store/index.html b/ocsipersist/Ocsipersist/Store/index.html new file mode 100644 index 0000000..91c7137 --- /dev/null +++ b/ocsipersist/Ocsipersist/Store/index.html @@ -0,0 +1,3 @@ + +Store (ocsipersist.Ocsipersist.Store)

Module Ocsipersist.Store

The variable store allows for the persistent storage of individual variables. Relies on Stdlib.Marshal for (de)serialisation, which entails the same limitations as for the Polymorphic frontend. If this is an issue you can rely on Functorial frontend instead (see TABLE.Variable).

type 'a t

Type of persistent data

type store

Data are divided into stores. Create one store for your project, where you will save all your data.

val open_store : string -> store Lwt.t

Open a store (and create it if it does not exist)

val make_persistent : store:store -> name:string -> default:'a -> 'a t Lwt.t

make_persistent store name default find a persistent value named name in store store from database, or create it with the default value default if it does not exist.

val make_persistent_lazy : store:store -> name:string -> default:(unit -> 'a) -> 'a t Lwt.t

Same as make_persistent but the default value is evaluated only if needed

val make_persistent_lazy_lwt : store:store -> name:string -> default:(unit -> 'a Lwt.t) -> +'a t Lwt.t

Lwt version of make_persistent_lazy.

val get : 'a t -> 'a Lwt.t

get pv gives the value of pv

val set : 'a t -> 'a -> unit Lwt.t

set pv value sets a persistent value pv to value

\ No newline at end of file