
In this drop : * Everything related to SQL composition has been moved to namespace boost::rdb::odbc * Update syntax has changed, instead of .set().set() chains it is now closer to SQL syntax (an deasier to implement): update(p).set(p.id = 1, p.first_name = "Homer") * Qualified table names: person::qualified p; partner::qualified l; select(p.id).from(p, l).where(p.id == l.wife) gives: select person.id from person, partner where person.id = partner.wife * in predicate: select(p.id).from(p, l).where(p.id.in(select(l.husband).from(l))) select(p.id).from(p).where(p.id.in(p.age + 1, 2)) * NULL: insert_into(p)(p.id, p.age).values(1, null) update(p).set(p.age = null).where(p.id == 1) select(p.id).from(p).where(p.age == null) Whoa! This gives: select id from person where age is null I'm only 80% sure about this one. Like everybody I suppose I have tried one day to compare with NULL, only to realize that the result is always false. After a while, ahem...So I have implemented operator == to do the right thing. It could have been: select(p.id).from(p).where(p.age.is_null()) Does anyone has an example where it makes sense to truly compare (using =) with NULL ? As for returning the NULL indicator when reading results, I chose not to use Boost.Optional (although I will probably add support for optional as well) because: 1. it would cost one bool (most likely the size of an integer) per column 2. IMHO the automatic conversion to bool is a bad idea 3. the value inside an optional<> cannot be addressed Instead I have complemented a fusion::vector with a std::bitset. The tutorial shows how to use this. I am hesitating a bit about pushing fusion::vector inside the implementation (i.e. nullable<int, char...> instead of nullable< fusion::vector<int, char> >). * Result sets: execute(Select) now returns a ResultSet object that allows retrieval row by row: also see the tutorial here : http://yorel.be/boost/libs/rdb/doc/html/rdb/tutorial.html#retrieve_data There is also a "Jumbo select" at the bottom of the tutorial that recaps everything that is supported for the moment. J-L

J-L, do you have public source code repository for rdb? 2009/10/4 Jean-Louis Leroy <jl@yorel.be>
* Everything related to SQL composition has been moved to namespace
boost::rdb::odbc
No sorry: boost::rdb::sql.
Time to go to sleep :-/
J-L _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Best Regards, Sergey Nikulov

Quite possible. At least I'm interested in development/test progress. But personally I prefer mercurial/git. 2009/10/4 Jean-Louis Leroy <jl@yorel.be>
Sergey Nikulov wrote:
J-L,
do you have public source code repository for rdb?
Not yet. You want to help with development ;-) Or the doc ;-) ;-) ? I could try to set up a darcs repo...
J-L
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Best Regards, Sergey Nikulov

Hi, If you pretend to propose RDB to Boost why don't use the sandbox? Vicente ----- Original Message ----- From: "Jean-Louis Leroy" <jl@yorel.be> To: <boost@lists.boost.org> Cc: "List to discuss standard rdb" <std_rdb@mail-lists.crystalclearsoftware.com> Sent: Sunday, October 04, 2009 11:29 AM Subject: Re: [boost] [rdb] 0.11
Sergey Nikulov wrote:
J-L,
do you have public source code repository for rdb?
Not yet. You want to help with development ;-) Or the doc ;-) ;-) ? I could try to set up a darcs repo...
J-L
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

If you pretend to propose RDB to Boost why don't use the sandbox? Vicente
Because I often work disconnected from the internet, and I got used to distributed scms like BitKeeper and Darcs. I want to be able to record small changes while on the train to work for example. And I don't like Subversion. Have you used Darcs? In my case, I cannot help but to find svn absolutely silly, e.g. the way it crushes all the changesets accumulated in a branch into a single changeset when you merge the branch. J-L

Hi, ----- Original Message ----- From: "Jean-Louis Leroy" <jl@yorel.be> To: <boost@lists.boost.org> Sent: Sunday, October 04, 2009 10:38 PM Subject: Re: [boost] [rdb] 0.11
If you pretend to propose RDB to Boost why don't use the sandbox? Vicente
Because I often work disconnected from the internet, and I got used to distributed scms like BitKeeper and Darcs. I want to be able to record small changes while on the train to work for example. And I don't like Subversion. Have you used Darcs? In my case, I cannot help but to find svn absolutely silly, e.g. the way it crushes all the changesets accumulated in a branch into a single changeset when you merge the branch.
I don't know neither BitKeeper nor Darcs. Well, Subversion is the current choice of the Boost community. The Boost community has moved from CVS to subversion recently. This mean that we could change one day to other SCM. Subversion have as other SCM his + and his -. I will no enter in evaluation of what I don't know now. But, the main advantage to use the Sandbox is that any member of the boost community could follow your work, particimate in the same project, help you by checking, testing, ... If each member of the Boost comunity use a different SCM, all of us will need to install all of them. This is a major drawback IMHO. At the end, if your library is proposed and accepted, you should use Subversion. Anyway, you are free to use the tool you prefer for your specific repository. I was just trying to help, it was just an idea. Best, Vicente

Well, Subversion is the current choice of the Boost community. The Boost community has moved from CVS to subversion recently. This mean that we could change one day to other SCM. Subversion have as other SCM his + and his -. I will no enter in evaluation of what I don't know now.
But, the main advantage to use the Sandbox is that any member of the boost community could follow your work, particimate in the same project, help you by checking, testing, ... If each member of the Boost comunity use a different SCM, all of us will need to install all of them. This is a major drawback IMHO.
I agree, in general. Currently things are moving rapidly and I feel that using svn would break my momentum. As things slow down, as internals stabilize, and if people want to help and feel more comfortable with svn, I will either start reflecting my work to the sandbox or entirely switch to it. It just happened that Sergey guessed that I had a repo of some kind and requested access. So why not? In the meantime I frequently post to the vault and both Mercurial and Darcs make it possible to browse the repo via the web.
At the end, if your library is proposed and accepted, you should use Subversion.
Sure, that has always been my intent.
Best, Vicente
You too & good night, J-L

Jean-Louis Leroy wrote:
If you pretend to propose RDB to Boost why don't use the sandbox? Vicente
Because I often work disconnected from the internet, and I got used to distributed scms like BitKeeper and Darcs. I want to be able to record small changes while on the train to work for example.
FWIW, there are tools (e.g. svk and git-svn) that let you access an svn 'backend' but make commits without the Internet too. John Bytheway

John Bytheway wrote:
Jean-Louis Leroy wrote:
If you pretend to propose RDB to Boost why don't use the sandbox? Vicente Because I often work disconnected from the internet, and I got used to distributed scms like BitKeeper and Darcs. I want to be able to record small changes while on the train to work for example.
FWIW, there are tools (e.g. svk and git-svn) that let you access an svn 'backend' but make commits without the Internet too.
There is also a well-maintained git mirror with several clones: http://gitorious.org/boost it isn't darcs, but then again (iiuc, could be wrong) ghc itself is going to git for performance reasons. Gitorious is nice as it makes it really easy to set up clones and trade commits. Different topic: I recently started playing with the erlang distributed database 'mnesia' which has a really, really nice database DSEL based on list comprehensions. I'm very impressed. It looks like one could put something like this together with proto. You might check it out for design ideas. -t
participants (5)
-
Jean-Louis Leroy
-
John Bytheway
-
Sergey Nikulov
-
troy d. straszheim
-
vicente.botet