Source file database_pools_sig.ml

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
module type Sig = sig
  val initialize : ?additional_pools:(string * string) list -> unit -> unit

  val fetch_pool
    :  ?ctx:(string * string) list
    -> ?retries:int
    -> unit
    -> (Caqti_lwt.connection, Caqti_error.t) Caqti_lwt_unix.Pool.t Lwt.t

  val add_pool : ?required:bool -> string -> string -> unit
  val drop_pool : string -> unit Lwt.t
  val connect : string -> (unit, string) result
  val disconnect : ?error:Caqti_error.t -> string -> unit Lwt.t

  val find
    :  ?ctx:(string * string) list
    -> ('a, 'b, [< `One ]) Caqti_request.t
    -> 'a
    -> 'b Lwt.t

  val find_opt
    :  ?ctx:(string * string) list
    -> ('a, 'b, [< `One | `Zero ]) Caqti_request.t
    -> 'a
    -> 'b option Lwt.t

  val collect
    :  ?ctx:(string * string) list
    -> ('a, 'b, [< `Many | `One | `Zero ]) Caqti_request.t
    -> 'a
    -> 'b list Lwt.t

  val exec
    :  ?ctx:(string * string) list
    -> ('a, unit, [< `Zero ]) Caqti_request.t
    -> 'a
    -> unit Lwt.t

  val populate
    :  ?ctx:(string * string) list
    -> string
    -> string list
    -> 'a Caqti_type.t
    -> 'a list
    -> unit Lwt.t

  val transaction
    :  ?ctx:(string * string) list
    -> ?setup:(Caqti_lwt.connection -> (unit, Caqti_error.t) Lwt_result.t) list
    -> ?cleanup:
         (Caqti_lwt.connection -> (unit, Caqti_error.t) Lwt_result.t) list
    -> (Caqti_lwt.connection -> ('a, Caqti_error.t) Lwt_result.t)
    -> 'a Lwt.t

  val transaction_iter
    :  ?ctx:(string * string) list
    -> (Caqti_lwt.connection -> (unit, Caqti_error.t) result Lwt.t) list
    -> unit Lwt.t
end