Sihl.DatabaseSourceval 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.tval 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.traise_error err raises a printable caqti error err .
fetch_pool () returns the connection pool that was set up. If there was no connection pool set up, setting it up now.
query f runs the query f on the connection pool and returns the result. If the query fails the Lwt.t fails as well.
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.
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.
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'.