$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Jeff Garland (jeff_at_[hidden])
Date: 2006-04-17 11:03:10
On Sun, 16 Apr 2006 19:58:03 +0000 (UTC), Steve Hutton wrote
> On 2006-04-15, Reece Dunn <msclrhd_at_[hidden]> wrote:
First a question for Reece -- didn't you put together the Boost.Database stuff
in the sandbox? It's been awhile since I looked, but is there anything there
that could be used to forward a combined proposal?
> The tuple idea is interesting. SOCI supports selecting
> into a generic Row object, which can iterated over, or
> interrogated by column name:
>
>...snip details
>
> Your suggestion of the use of a RowSet class is interesting.
> SOCI supports selecting to/from vector<int>, vector<string>, etc.
> The context in which we added support for these features was to
> support high performance bulk operations...the fetch() mechanism
> was already in place as the default way to iterate over a rowset.
>
> But we haven't yet added support for vector<Row> or vector<MyType>.
> So in these cases there's just the one way to interate over rows
> in a result set - the fetch() function.
>
> I was planning on adding support for vector<Row> and vector<MyType>,
> as a performance optimization for bulk operations.
>
> But now I can see that having these two means of iterating over
> result sets might be a little confusing to users.
Not to make this harder, but I wonder if we need to step back a level.
Perhaps an iterator interface that allows users bind the data into an stl
collection of their choice? Perhaps allows control over the number of results
to pull at a time from the database? In some cases I might want the results
in a set or list instead of the other options. As I recall DTL can do this.
I'm not precluding the need to have a rowset or some other custom type, but
the question of binding to standard collection will surely come up as an issue.
Jeff