package sihl

  1. Overview
  2. Docs

Module Sihl.DatabaseSource

Sourceval prepare_requests : string -> string -> string -> string -> 'a Caqti_type.t -> (int, 'a, [ `Many | `One | `Zero ]) Caqti_request.t * (int, 'a, [ `Many | `One | `Zero ]) Caqti_request.t * (string * int, 'a, [ `Many | `One | `Zero ]) Caqti_request.t * (string * int, 'a, [ `Many | `One | `Zero ]) Caqti_request.t * (unit, int, [< `Many | `One | `Zero One ]) Caqti_request.t
Sourceval run_request : (module Caqti_lwt.CONNECTION) -> (('a, 'b, [< `Many | `One | `Zero ]) Caqti_request.t * ('a, 'b, [< `Many | `One | `Zero ]) Caqti_request.t * ('c * 'a, 'b, [< `Many | `One | `Zero ]) Caqti_request.t * ('c * 'a, 'b, [< `Many | `One | `Zero ]) Caqti_request.t * (unit, int, [< `One ]) Caqti_request.t) -> [< `Asc | `Desc ] -> 'c option -> 'a -> ('b list * int) Lwt.t
Sourceval raise_error : ('a, Caqti_error.t) Result.t -> 'a

raise_error err raises a printable caqti error err .

Sourceval fetch_pool : unit -> (Caqti_lwt.connection, Caqti_error.t) Caqti_lwt.Pool.t

fetch_pool () returns the connection pool that was set up. If there was no connection pool set up, setting it up now.

Sourceval query : (Caqti_lwt.connection -> 'a Lwt.t) -> 'a Lwt.t

query f runs the query f on the connection pool and returns the result. If the query fails the Lwt.t fails as well.

Sourceval query' : (Caqti_lwt.connection -> ('a, Caqti_error.t) Result.t Lwt.t) -> 'a Lwt.t

query' f runs the query f on the connection pool and returns the result. Use query' instead of query as a shorthand when you have a single caqti request to execute.

Sourceval transaction : (Caqti_lwt.connection -> 'a Lwt.t) -> 'a Lwt.t

transaction f runs the query f on the connection pool in a transaction and returns the result. If the query fails the Lwt.t fails as well and the transaction gets rolled back. If the database driver doesn't support transactions, transaction gracefully becomes query.

Sourceval transaction' : (Caqti_lwt.connection -> ('a, Caqti_error.t) Result.t Lwt.t) -> 'a Lwt.t

transaction' f runs the query f on the connection pool in a transaction and returns the result. If the query fails the Lwt.t fails as well and the transaction gets rolled back. If the database driver doesn't support transactions, transaction' gracefully becomes query'.

Sourcetype config = {
  1. url : string;
  2. pool_size : int option;
}
Sourceval config : string -> int option -> config
Sourceval schema : (string, string -> int option -> config, config) Conformist.t
Sourceval used_database : unit -> Sihl__.Contract_database.database_type option
Sourceval start : unit -> unit Lwt.t
Sourceval stop : unit -> unit Lwt.t
Sourceval lifecycle : Sihl__.Core_container.lifecycle
Sourceval register : unit -> Sihl__.Core_container.Service.t
Sourcemodule Migration : sig ... end
OCaml

Innovation. Community. Security.