package caqti

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Caqti_platform.Request_utilsSource

Internal request-related utilities.

Queries

Sourcetype linear_param =
  1. | Linear_param : int * 'a Caqti_template.Field_type.t * 'a -> linear_param
Sourceval linear_param_length : ?subst:Caqti_template.Query.subst -> Caqti_template.Query.t -> int

linear_param_length templ is the number of linear parameters expected by a query represented by templ.

Sourceval linear_param_order : ?subst:Caqti_template.Query.subst -> Caqti_template.Query.t -> int list list * linear_param list

linear_param_order templ describes the parameter bindings expected for templ after linearizing parameters and lifting quoted strings out of the query:

  • The first is a list where item number i is a list of linear parameter positions to which to bind the ith incoming parameter.
  • The second is a list of Linear_param (i, t, v) where i is the position of the linear parameter taking the place of a embedded value, t is its field type, and v is the value itself.

All positions are zero-based.

Sourceval linear_query_string : ?subst:Caqti_template.Query.subst -> Caqti_template.Query.t -> string

linear_query_string templ is templ where "?" is substituted for parameters and quoted strings.

Parameter Encoding and Row Decoding

Sourceval raise_encode_missing : uri:Uri.t -> field_type:'a Caqti_template.Field_type.t -> unit -> 'counit
Sourceval raise_encode_rejected : uri:Uri.t -> typ:'a Caqti_template.Row_type.t -> Caqti_error.msg -> 'counit
Sourceval raise_encode_failed : uri:Uri.t -> typ:'a Caqti_template.Row_type.t -> Caqti_error.msg -> 'counit
Sourceval raise_decode_missing : uri:Uri.t -> field_type:'a Caqti_template.Field_type.t -> unit -> 'counit
Sourceval raise_decode_rejected : uri:Uri.t -> typ:'a Caqti_template.Row_type.t -> Caqti_error.msg -> 'counit
Sourceval raise_response_failed : uri:Uri.t -> query:string -> Caqti_error.msg -> 'counit
Sourceval raise_response_rejected : uri:Uri.t -> query:string -> Caqti_error.msg -> 'counit
Sourcetype 'a field_encoder = {
  1. write_value : 'b. uri:Uri.t -> 'b Caqti_template.Field_type.t -> 'b -> 'a -> 'a;
  2. write_null : 'b. uri:Uri.t -> 'b Caqti_template.Field_type.t -> 'a -> 'a;
} constraint 'e = [> `Encode_rejected of Caqti_error.coding_error ]
Sourceval encode_param : uri:Uri.t -> 'a field_encoder -> 'b Caqti_template.Row_type.t -> 'b -> 'a -> 'a
Sourcetype 'a field_decoder = {
  1. read_value : 'b. uri:Uri.t -> 'b Caqti_template.Field_type.t -> 'a -> 'b * 'a;
  2. skip_null : int -> 'a -> 'a option;
} constraint 'e = [> `Decode_rejected of Caqti_error.coding_error ]
Sourceval decode_row : uri:Uri.t -> 'a field_decoder -> 'b Caqti_template.Row_type.t -> 'a -> 'b * 'a
Sourceval fresh_name_generator : string -> unit -> string
OCaml

Innovation. Community. Security.