
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