Class virtual Dbi.connection


class virtual connection : ?host:string ->
?port:string -> ?user:string -> ?password:string -> string -> object end


Connection management & information
method id : int
Returns a unique integer which can be used to identify this * connection.
method close : unit -> unit
Closes the database handle. All statement handles are also invalidated. * Database handles which are collected by the GC are automatically * closed, but you should explicitly close handles to save resources, * where possible.
method closed : bool
Returns true if this database handle has been closed. Subsequent * operations on the handle will fail.
method ping : unit -> bool
This uses some active method to verify that the database handle is * still working. By this I mean that it tries to execute some sort of * 'null' statement against the database to see if it gets a response. * If the database is up, it returns true. If the database is down or * unresponsive, it returns false. This method should never throw * an exception (unless, perhaps, there is some sort of catastrophic * internal error in the Dbi library or the driver).
method host : string option
Return the host parameter.
method port : string option
Return the port parameter.
method user : string option
Return the user parameter.
method password : string option
Return the password parameter.
method database : string
Return the database name.
method virtual database_type : string
Database type (e.g. "postgres").
method set_debug : bool -> unit
Use this to enable debugging on the handle. In this mode significant * events (such as executing queries) are printed out on stderr.
method debug : bool
Returns true if this handle has debugging enabled.

Database creation, destruction & connection

Statement preparation
method virtual prepare : string -> statement
Prepare a database query, and return the prepared statement. * The statement may contain ? placeholders which can be substituted * for values when the statement is executed.
method prepare_cached : string -> statement
This method is identical to prepare except that, if possible, it * caches the statement handle with the database object. Future calls * with the same query string return the previously prepared statement. * For databases which support prepared statement handles, this avoids * a round-trip to the database, and an expensive recompilation of the * statement.
method ex : string -> sql_t list -> statement
dbh#ex stm args is a shorthand for
 let sth = dbh#prepare_cached stmt in
      * sth#execute args;
      * sth
      * 


Commit and rollback
method commit : unit -> unit
Perform a COMMIT operation on the database.
method rollback : unit -> unit
Perform a ROLLBACK operation on the database.
method register_precommit : (unit -> unit) -> precommit_handle
Register a function which will be called just BEFORE a commit * happens on this handle. This method returns a handle which can * be used to deregister the callback later. This is useful for * implementing various types of persistence.
method unregister_precommit : precommit_handle -> unit
Unregister a precommit callback.
method register_postrollback : (unit -> unit) -> postrollback_handle
Register a function which will be called just AFTER a rollback * happens on this handle. This method returns a handle which can * be used to deregister the callback later. This is useful for * implementing various types of persistence.
method unregister_postrollback : postrollback_handle -> unit
Unregister a postrollback callback.