package pgx_lwt_unix

  1. Overview
  2. Docs
Pgx using Lwt and Unix libraries for IO

Install

Dune Dependency

Authors

Maintainers

Sources

pgx-1.0.tbz
sha256=3672ca83fbf72e6480b74478e3b256bbab3bef81fad7be0da38bae60f0b8725a
sha512=e35f881179371b55be22d40a3514d593003ccba11d5b02c265b8e38dd01dd472adb41d185b3838704685e4e82096fe449c9d709db451bad9b6bde251bdc97729

doc/pgx_lwt_unix/Pgx_lwt_unix/index.html

Module Pgx_lwt_unixSource

include Pgx_lwt.S
Sourcetype t
Sourcemodule Io : sig ... end
Sourceval connect : ?host:string -> ?port:int -> ?user:string -> ?password:string -> ?database:string -> ?unix_domain_socket_dir:string -> ?verbose:int -> ?max_message_length:int -> unit -> t Io.t

Connect to the database. The normal $PGDATABASE, etc. environment variables are available.

max_message_length is the maximum message length accepted from the back-end. The default is Sys.max_string_length, which means that we will try to read as much data from the back-end as we can, and this may cause us to run out of memory (particularly on 64 bit machines), causing a possible denial of service. You may want to set this to a smaller size to avoid this happening.

Sourceval close : t -> unit Io.t

Close the database handle. You must call this after you have finished with the handle, or else you will get leaked file descriptors.

Sourceval with_conn : ?host:string -> ?port:int -> ?user:string -> ?password:string -> ?database:string -> ?unix_domain_socket_dir:string -> ?verbose:int -> ?max_message_length:int -> (t -> 'a Io.t) -> 'a Io.t

Calls connect, passes the DB handle to the callback, then calls close. This is the preferred way to use this library since it cleans up after itself.

Sourceval ping : t -> unit Io.t

Ping the database. If the database is not available, some sort of exception will be thrown.

Sourceval alive : t -> bool Io.t

This function is a wrapper of ping that returns a boolean instead of raising an exception.

Sourceval begin_work : ?isolation:Isolation.t -> ?access:Access.t -> ?deferrable:bool -> t -> t Io.t

Start a transaction.

Sourceval commit : t -> unit Io.t

Commit a transaction. Throws an exception if no transaction is open. Use with_transaction when possible.

Sourceval rollback : t -> unit Io.t

Rollback a transaction. Throws an exception if no transaction is open. Use with_transaction when possible.

Sourceval with_transaction : ?isolation:Isolation.t -> ?access:Access.t -> ?deferrable:bool -> t -> (t -> 'b Io.t) -> 'b Io.t

with_transaction db ?isolation ?access ?deferrable f wraps your function f inside a transactional block. See begin_work for a description of isolation, access, and deferrable. If f throws an exception, the transaction will be rolled back. Otherwise the transaction will be commited. It is an error to call commit or rollback manually inside of this function.

Sourcemodule Prepared : sig ... end
Sourceval execute : ?params:Types.row -> t -> string -> Types.row list Io.t

execute conn ?params query prepares and executes the statement query and returns the result.

Sourceval execute_unit : ?params:Types.row -> t -> string -> unit Io.t

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

Sourceval execute_fold : ?params:Types.param list -> t -> string -> init:'accum -> f:('accum -> Types.row -> 'accum Io.t) -> 'accum Io.t
Sourceval execute_map : ?params:Types.param list -> t -> string -> f:(Types.row -> 'a Io.t) -> 'a list Io.t
Sourceval execute_iter : ?params:Types.param list -> t -> string -> f:(Types.row -> unit Io.t) -> unit Io.t
Sourceval execute_many : t -> query:string -> params:Types.param list list -> Types.row list list Io.t

Prepares a query as in execute and then executes it once per set of parameters in params. This is more efficient than calling execute in a loop because the query is only prepared once.

Sourceval simple_query : t -> string -> Types.row list list Io.t

simple_query conn query executes the command(s) in the given query and returns a list of query results (i.e. if you run two queries, you will get a list with two elements: the results of the first query followed by the results of the second query.

OCaml

Innovation. Community. Security.