package pgx_lwt

  1. Overview
  2. Docs

Module Make.PreparedSource

Sourcetype s
Sourceval sexp_of_s : s -> Sexplib0.Sexp.t
Sourceval prepare : ?name:string -> ?types:Types.oid list -> t -> query:string -> s Io.t

prepare ?name ?types conn ~query prepares the statement query and sets the parameter types to types. If no name is given, a random name will be generated. If no types are given, then the PostgreSQL engine infers types.

Sourceval close : s -> unit Io.t

close_statement t closes a prepared statement and frees up any resources.

Sourceval with_prepare : ?name:string -> ?types:Types.oid list -> t -> query:string -> f:(s -> 'a Io.t) -> 'a Io.t

prepare a query, execute f, and then close_statement

Sourceval execute : ?portal:string -> s -> params:Types.param list -> Types.row list Io.t

execute conn ~params t executes the given prepared statement, with the given parameters params, returning the result rows (if any).

There are several steps involved at the protocol layer: (1) a "portal" is created from the statement, binding the parameters in the statement (Bind). (2) the portal is executed (Execute). (3) we synchronise the connection (Sync).

The optional ?portal parameter may be used to name the portal created in step (1) above (otherwise the unnamed portal is used). This is only important if you want to call describe_portal to find out the result types.

Sourceval execute_unit : ?portal:string -> s -> params:Types.param list -> unit Io.t

execute_unit ?portal s ?params same as execute, but intended for database calls that have side-affects rather than returning results

Sourceval execute_fold : ?portal:string -> s -> params:Types.param list -> init:'accum -> f:('accum -> Types.row -> 'accum Io.t) -> 'accum Io.t
Sourceval execute_iter : ?portal:string -> s -> params:Types.param list -> f:(Types.row -> unit Io.t) -> unit Io.t
Sourceval execute_map : ?portal:string -> s -> params:Types.param list -> f:(Types.row -> 'a Io.t) -> 'a list Io.t
Sourceval execute_many : s -> params:Types.param list list -> Types.row list list Io.t
Sourceval describe : s -> (Types.params_description * Result_desc.t list option) Io.t

describe_statement t describes the statement's parameter types and result types.

Sourceval close_portal : ?portal:string -> s -> unit Io.t

close_portal conn ?portal () closes a portal and frees up any resources.

Sourceval describe_portal : ?portal:string -> s -> Result_desc.t list option Io.t

describe_portal conn ?portal () describes the named or unnamed portal's result types.

OCaml

Innovation. Community. Security.