Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Make.Prepared
Sourceprepare ?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.
close_statement t
closes a prepared statement and frees up any resources.
val 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
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.
execute_unit ?portal s ?params
same as execute, but intended for database calls that have side-affects rather than returning results
describe_statement t
describes the statement's parameter types and result types.
close_portal conn ?portal ()
closes a portal and frees up any resources.
describe_portal conn ?portal ()
describes the named or unnamed portal's result types.