Boost logo

Boost :

From: Jarrad Waterloo (jwaterloo_at_[hidden])
Date: 2006-12-05 10:15:31

I know the review hasn't even been requested yet but here are some interface

1) Session constructor that takes a std::map<basic_string<>, basic_string<>>
as the second parameter instead of "service=orcl user=scott password=tiger".
2) With respect to the first request, standard names for username, password
and ... that gets mapped automatically into database specific parameter
names. You are already doing something similar for parameterized queries.
3) CLOB ie. Ntext that automatically gets extracted as a string field.
4) CLOB class to complement your Blob class
5) A STL compatiple stream interface to your Blob. Boost could help out
6) Official support for the wstring type
7) A place to register data providers and to choose one programmatically so
that ones code can be configured to use a different database without

-----Original Message-----
From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
On Behalf Of Maciej Sobczak
Sent: Tuesday, December 05, 2006 4:24 AM
To: boost_at_[hidden]
Subject: [boost] SOCI 2.2.0 - The C++ Database Access Library


It's already a matter of "tradition" that all database discussions here
have something to do with SOCI. ;-)

To confirm this "tradition", I would like to announce that the new
version (2.2.0) of the SOCI library is available for download:

This new version provides:

1. Two new backends:
    - ODBC (tested with MS SQL Server)
    - Firebird

2. Complete build system for both Unix/Linux (autotools) and Windows
(solution files for MSVC++).

3. STL-compatible iterators:

Rowset<string> rs = (sql.prepare << "select name from persons");
copy(rs.begin(), rs.end(), ostream_iterator<string>(cout, "\n"));

4. Stream-like interface for easier dynamic binding and field extraction
from rows:

Row r;
sql << "select name, age, salary from persons where ...", into(r);

string name;
int age, salary;
r >> name >> age >> salary;

5. The comprehensive set of common tests for all supported database servers.

6. Some performance improvements for PostgreSQL.

7. Better docs.

8. Various fixes and tweaks.

I would like to stress that the ODBC support was our important milestone
that now allows us to claim a quite extensive coverage of existing
database technologies. With this in mind, SOCI becomes even more serious
and our roadmap for the nearest future is to bring the library to the
state that will make it a valid candidate for inclusion into Boost. We
will therefore welcome your guidance and suggestions w.r.t. Boost

Note that up to this release, the library was deliberately developed
without any external dependencies, so there are obviously wide areas
where Boost might be applied within the library itself (example:
intrusive pointers to manage some refcounted objects). This is easy.
The more difficult part is the library interface and its general philosophy.

We welcome your feedback.

Maciej Sobczak :
Programming    :
Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at