package caqti

  1. Overview
  2. Docs

Interface for constructing query parameters.

type t

An abstract type for a query parameter. Only the backend knows the actual type.

val null : t

A designated value to replace a missing parameter. For SQL, null is NULL.

val option : ('a -> t) -> 'a option -> t

option f None is null and option f (Some x) is f x.

val bool : bool -> t

Constructs a boolean parameter. If the database does not have booleans, an integer value of 0 for false and 1 for true is used.

val int : int -> t

Constructs an integer parameter. The remote end may have a different range. For SQL, works with all integer types.

val int32 : int32 -> t

Constructs an integer parameter. The remote end may have a different range. For SQL, works with all integer types.

val int64 : int64 -> t

Constructs an integer parameter. The remote end may have a different range. For SQL, works with all integer types.

val float : float -> t

Constructs a floating point parameter. Note that the precision in the database may be different from that of the OCaml float. If conversion to string is requried by the backend, this is done with the %.*g format specifier, which may incur a small loss of precision, as well.

val string : string -> t

Given an UTF-8 encoded text, constructs a textual parameter with backend-specific encoding.

val bytes : bytes -> t

Constructs a parameter from an arbirary octet string. For SQL, the parameter is compatible with the BINARY type.

val date_string : string -> t

Construct a date paramater from a string using ISO 8601 format.

val date_tuple : (int * int * int) -> t

Construct a date parameter from the year, month, and day of the month, using the literal enumeration. I.e. Epoch is (1970, 1, 1).

val date_cl : CalendarLib.Date.t -> t

Construct a parameter representing a date.

val utc_float : float -> t

Construct a parameter representing date and time in the UTC time zone, converted from a float representing the number of non-leap seconds passed since 1970-01-01T00:00:00Z.

val utc_string : string -> t

Create a parameter for an UTC timestamp field from a UTC time string in ISO 8601 format.

val utc_cl : CalendarLib.Calendar.t -> t

Construct a parameter representing an date and time in the UTC time zone.