$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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