package caqti

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

caqti-v3.0.0.tbz
sha256=3ceea06ba0e8e8bcab0386b5817b68cb30fce457eaa25ada0182891d66f6a0b9
sha512=e01f546a45b04cafd5fa262e9228e5a1aabd5e0942059c073a4181c928450baf3d990cc59ffb1a33dff445b46a0e218224a23dca96e8d24cdd0ab793d08e4538

doc/caqti.platform/Caqti_platform/Connector/Make/argument-2-Pool/index.html

Parameter Make.Pool

include Caqti.Pool.S with type 'a fiber := 'a System.Fiber.t
type ('a, +'e) t
val size : ('a, 'e) t -> int

size pool is the current number of open resources in pool.

val use : ?priority:float -> ('a -> ('b, 'e) result System.Fiber.t) -> ('a, 'e) t -> ('b, 'e) result System.Fiber.t

use f pool calls f on a resource drawn from pool, handing back the resource to the pool when f exits. The result returned by f is not used by Caqti, but allows flattening errors into a single polymorphic variant type.

  • parameter priority

    Requests for the resource are handled in decreasing order of priority. The default priority is 0.0.

val drain : ('a, 'e) t -> unit System.Fiber.t

drain pool closes all resources in pool once they become idle. The pool is still usable, as new resources will be created on demand. Resources are not closed while they are in use.

val create : ?config:Caqti.Pool.Config.t -> ?check:('a -> (bool -> unit) -> unit) -> ?validate:('a -> bool System.Fiber.t) -> ?log_src:Logs.Src.t -> sw:System.Switch.t -> stdenv:System.stdenv -> (unit -> ('a, 'e) result System.Fiber.t) -> ('a -> unit System.Fiber.t) -> ('a, 'e) t

Internal: create alloc free is a pool of resources allocated by alloc and freed by free. This is primarily intended for implementing the connect_pool functions.

  • parameter max_size

    The maximum number of allocated resources.

  • parameter max_idle_size

    The maximum number of resources to pool for later use. Defaults to max_size.

  • parameter max_use_count

    The maximum number of times to use a connection, or None for no limit.

  • parameter check

    A function used to check a resource after use.

  • parameter validate

    A function to check before use that a resource is still valid.