DDBI on the road again

As have already been noted on D.announce, I have started committing new code to DDBI. The task at hand is to refine the interfaces, make it easier to use where possible, and use as little resources as possible (this isn't necessarily easy given that fetched data need to stay in memory somewhere).

I have committed some new interfaces in dbi/model/ and implemented those (mostly at least) for mysql. SQLite will be the next to be added, and after that maybe PostgreSQL. I expect to have to rely on contributions for anything beyond that.

If you have any thoughts on the work I've been doing, please contact me. My current thoughts involve adding multi statement/multi result support (thanks BCS), make sure optional allocators can be used properly (and in all places applicable), how to best fetch results and error handling.

The latter came up as a question from Aaron who's fork I have gleaned at quite a bit - exceptions vs error codes. My opinion is (without hearing much of argumentation yet) that error codes shouldn't be used for error handling when Exceptions are available. However, there may be a question about whether errors reported from the DBMS always are exceptional problems, or if they may be trivial issues better handled outside of try/catch. I believe that normally, provoking an error in the DBMS means either a bug in your application, or an exceptional problem, which in any case warrants an exception. The main reason I'm not too eager to jump on to the error code bandwagon, is that it would make a need to distinguish between what is exceptional and what isn't. I didn't agree with the first example I heard, for instance :)

Good on you! I remember

Good on you! I remember playing with getting mysql to work with D and DDBI, it was such a pain. If you can get it sorted nicely, that'd be brilliant.

You have all my support.

Hi,
I'm new to D. i have work a lot with Java, C, VB.Net. From what i have seen All that is missing to D is easy and rapid way to access Database. I have looked at your project. It look amazing.

You have all my support. I am starting a project that will need database access. And using your project i would be able to have support to many type of database without to much complication.

I will follow your progress in this task. And hope to help you with the test.

Skaven