Category Archives: OCIML

OCI*ML: 100× Faster with Bulk Operations

Continuing with my fixation on reducing the number of network roundtrips in OCI*ML I have enhanced the orabindexec function to perform bulk DML, that is to say, batching many similar INSERT, UPDATE or DELETE statements on the same table into … Continue reading

Posted in Ocaml, OCIML, Oracle | Leave a comment

OCI*ML: Support for RETURNING

First a quick recap for non-DBAs: in database programming it is a common, nearly universal, pattern to assign a unique identifier to each row of the database independent of the data actually stored in the row – this is called … Continue reading

Posted in Ocaml, OCIML, Oracle | 1 Comment

OCI*ML: Minor updates

A few minor updates to OCI*ML: oraprefetch to set rows pre-fetched and buffered by OCI. This is set per-statement handle, with a default for newly-created handles set in .ocamlinit. oradeqtime to set the number of seconds to wait on oradequeue … Continue reading

Posted in Ocaml, OCIML, Oracle | 3 Comments

OCI*ML new feature: AQ

Many organizations make heavy use of message-oriented middleware, such as Oracle AQ. An interesting thing about message buses is that so long as a program can participate in the sending and receiving of messages it doesn’t matter what language it … Continue reading

Posted in Ocaml, OCIML, Oracle | 7 Comments

OCaml as a SQL*Plus replacement?

Just re-read the Jane Street article OCaml as a scripting language†, and added an interactive toplevel to OCI*ML and a first stab at a make install task, but I still have to do: $ ocimlsh -I <directory where ociml.cma and … Continue reading

Posted in Ocaml, OCIML, Oracle | 4 Comments

Announcing: OCI*ML

A few months ago I expressed my frustration at the lack of actively-maintained Oracle bindings for OCaml. That didn’t stop me from using it, as this blog shows, but it was clearly not a sustainable situation, therefore I have been … Continue reading

Posted in Ocaml, OCIML, Oracle | 2 Comments