Doost status update

Marcin Kuszczak aarti_please_no at spam_interia.pl
Thu May 1 02:19:33 PDT 2008


Jason House wrote:

> Since doost is based on boost, it'd be nice to see a simple list of which
> boost modules have been ported.  This helps those of us already familiar
> with various boost libraries...
> 
> PS: I'm glad to see doost is alive and well!

Well, currently scope of library is much wider than only libraries ported
from Boost or inspired by Boost. While I was porting program_options I
noticed that originall library can be easily extended with e.g. writing
options back into physicall storage. D just allows to do much more, still
having implementation quite simple. 

Now I am working on D version of part of U++ library, which is intended to
allow type safe database queries.
(http://www.ultimatepp.org/src$Sql$SqlExp$en-us.html)

Imagine that you put database schema into file:
http://www.dsource.org/projects/doost/browser/trunk/examples/database/TestSchema.schema

and then you use in your program typesafe versions of sql:
http://www.dsource.org/projects/doost/browser/trunk/examples/database/PackageTest.d

And simple cases work already quite well :-)

I just see problem with sql expressions. In U++ it is done like below:
Select(BOOK.AUTHOR).WHERE((BOOK.ID == 100) && (BOOK.TITLE == "Dot"));

In D it is not possible (unfortunately) and must be written like below:
Select(BOOK.AUTHOR).WHERE(land(leq(BOOK.ID, 100), leq(BOOK.TITLE, "Dot")));

I hope that maybe Walter someday will reconsider adding extended operators
overloading as addition to the current system.

-- 
Regards
Marcin Kuszczak (Aarti_pl)
-------------------------------------
Ask me why I believe in Jesus - http://www.zapytajmnie.com (en/pl)
Doost (port of few Boost libraries) - http://www.dsource.org/projects/doost/
-------------------------------------



More information about the Digitalmars-d-announce mailing list