Monthly Archives: June 2011

Scala Quickstart for Oracle DBAs

For the benefit of my fellow DBAs, here is a quick guide to getting up and running with Scala, a language that is gaining a lot of interest recently. The aim of the exercise is to produce the simplest possible … Continue reading

Posted in Operation Foothold, Oracle, Scala | 3 Comments

Jack of all trades → Master of Disaster.

When I got started in the industry†, like many people I was a generalist; designing and programming GUIs, network services, systems and database administration, even a bit of Photoshop, account management (the other sort of clients!) and end-user support. I … Continue reading

Posted in Business, C++, f#, Ocaml, Oracle, Random thoughts, Scala | 3 Comments

OCI*ML: Ref Cursors and Raw Messages

A few more additions to OCI*ML: Support for ref cursors and binding OUT variables by name as well as by position (see below) Support for type RAW in AQ (see below) oci_version function returns a tuple of (major version, minor … Continue reading

Posted in Ocaml, OCIML, Oracle | 1 Comment

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


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