Boost logo

Boost :

From: Maciej Sobczak (prog_at_[hidden])
Date: 2006-12-05 08:53:58


Jeff Garland wrote:

>> It's already a matter of "tradition" that all database discussions here
>> have something to do with SOCI. ;-)
>
> As is tradition, I'll chime in ;-)

:-)

> It seems to me that there are a few basic things that need to be done:
>
> - have a formal review

Of course.

> - convert to boost build

This is on the roadmap.

> - refactor src tree to be boost-like (boost tree, finer grained headers/cpp files)

Yes, the code might benefit from some work in this area. Still, we would
like to limit the number of "entry points" for final users, in the sense
that for example it should be enough to do this:

#include "soci.h"
#include "soci-oracle.h"

(names don't matter)

to be able to play with Oracle. This way of thinking has led us to
single soci.h header, but I agree that it would benefit from some
refactoring.
The backends have already very fine-grained file structure.

> - write some tests (maybe I'm just missing them in the distro)?

Looks like. :-)

src/core/test/common-tests.h
src/backends/DBNAME/test/test-DBNAME.cpp

For each server, the above pair provides a comprehensive set of tests
(they are automatically built together with the library; just run them).
The common-tests.h file contains common tests cases that are used for
all servers.

> - full reference docs

doc/reference.html (for client interface)
doc/backends.html (for authors of new backends)
doc/backends/DBNAME.html (for server-specific issues)

Plus subject-by-subject tutorial (start from doc/index.html).

Anything missing?

> Personally I tend toward having the review
> sooner. SOCI's interface as been mostly stable for awhile...although it looks
> like there's a few twists in this release. The review may uncover other
> issues that need to be resolved. Or if the library were not accepted it would
> be quite painful to do a bunch of work to boostify and then decide to just
> stay independent.

Yes, we are aware of this risk.

> Note that I expect the review for SOCI to be tough because it's a fairly large
> and complex domain/lib. So we ought to ask the review manager for a longer
> review right up front.

That's reasonable.

>> The more difficult part is the library interface and its general philosophy.
>
> Not sure I understand the problem here...

The SOCI library stands out a bit in the crowd thanks to its basic
interfacing assumptions. Some users love it exactly because of its
interface and some others hate it exactly for the same reason.

This already proved to be a recipe for heat generator. ;-)

-- 
Maciej Sobczak : http://www.msobczak.com/
Programming    : http://www.msobczak.com/prog/

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