package caqti

  1. Overview
  2. Docs
Unified interface to relational database libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

caqti-0.10.2.tbz
sha256=d688bd22f6fde5be5a755900545fade0d5fdce6dbcb0b85770d02dad87c41e7c
md5=d18745a703da336054c0d27e78f8be8a

doc/caqti/Caqti_response_sig/module-type-S/index.html

Module type Caqti_response_sig.SSource

Sourcetype 'b future
Sourcetype ('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

Sourceval 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.

Sourceval 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

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

exec resp checks that resp succeeded with no result rows.

Sourceval 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.

Sourceval 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.

Sourceval 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.

Sourceval 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.

Note. Do not make nested queries in the callback to this function. If you use the same connection, it may lead to data corruption. If you pull a different connection from the same pool, it may deadlock if the pool runs out of connections. Also, some drivers may not support simpltaneous connections.

Sourceval 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.

Note. Do not make nested queries in the callback to this function. Cf. fold_s.