package caqti

  1. Overview
  2. Docs
type 'b future
type ('b, +'m) t

The type describing the response and containing returned data from a request execution.

  • 'b is the type of a single row
  • 'm is the possible multiplicities of rows

Result inspection

val returned_count : ('b, 'm) t -> (int, [> Caqti_error.retrieve | `Unsupported ]) result future

returned_count resp is the number of rows returned by resp. This function may not be available for all databases.

val affected_count : ('b, 'm) t -> (int, [> Caqti_error.retrieve | `Unsupported ]) result future

affected_count resp is the number of rows affected by the updated the produced resp. This function may not be available for all databases.

Result retrieval

val exec : (unit, [< `Zero ]) t -> (unit, [> Caqti_error.retrieve ]) result future

exec resp checks that resp succeeded with no result rows.

val find : ('b, [< `One ]) t -> ('b, [> Caqti_error.retrieve ]) result future

find resp checks that resp succeeded with a single row, and returns the decoded row.

val find_opt : ('b, [< `Zero | `One ]) t -> ('b option, [> Caqti_error.retrieve ]) result future

find_opt resp checks that resp succeeded with at most one row, and returns the row if any.

val fold : ('b -> 'c -> 'c) -> ('b, 'm) t -> 'c -> ('c, [> Caqti_error.retrieve ]) result future

fold f resp folds f over the decoded rows returned in resp.

val fold_s : ('b -> 'c -> ('c, 'e) result future) -> ('b, 'm) t -> 'c -> ('c, [> Caqti_error.retrieve ] as 'e) result future

fold_s f resp folds f over the decoded rows returned by resp within the IO and result monad.

val iter_s : ('b -> (unit, 'e) result future) -> ('b, 'm) t -> (unit, [> Caqti_error.retrieve ] as 'e) result future

iter_s f resp iterates f over the decoded rows returned by resp within the IO and result monad.