Boost logo

Boost :

From: Jonathan Wakely (cow_at_[hidden])
Date: 2005-08-18 03:57:54


Brock Peabody wrote:

> 1) Boost.Database - a minimalist abstract database interface. The
> interface (boost::db::database in database.hpp) really exposes two main
> methods: one performs execute queries, and one performs queries that
> return data sets. These are called row_sets and provide a random access
> container interface. The interface also provides start/commit/rollback
> transaction functions. These are implemented with execute queries but
> are included to allow reference counted, nested transactions.

Hi Brock,

I haven't looked at all the code yet, but I like the interface and what
I've seen so far - I'm definitely interested in this library,

> 2) Boost.Database.Postgresql - an implementation of the above interface
> for postgresql

I have an implementation of your database library for MySQL. It's on my
hard drive at home and I'm broadband-less right now so if anyone wants
to see it let me know and I'll dial up tonight. It was very easy to
adapt to use the MySQL API.

> 3) test - a small program that opens and queries a postgresql database.
>
> I've compiled this on VC 7.1 but I don't think there's anything that
> won't work on another platform.

I tested it with GCC 3.4 and 4.1 with no real problems.

postgresql/connect.cpp accidentally uses the <:: trigraph in the
typedefs at the top of the file. You need a space before the template
args to avoid that.

How do you handle NULL values? the postgresql::row_set_imp::get() function
doesn't seem to account for NULL, which would crash strlen(), atof() etc.

jon


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk