On 2016-02-14 00:32, Dicebot wrote:

Ideally ddb should be built on top of ddbc wrapping it into fiber-friendly 
async API
but I don't know if this is possible with ddbc design.

It looks like libpg has support for asynchronous calls [1] but ddbc does not use them. Also, although libpg provides asynchronous calls I'm not sure if that automatically means it will be compatible with the IO model used by vibe.

It seems both ddb and ddbc had the same idea, building a library accessing databases independently of the kind of database. The difference is that ddb does not seem to have the abstraction making it database independent and only works for Postgres. ddbc on the other hand does support multiple databases and have the abstraction layer. So at this point ddb is basically a Postgres driver and nothing more.

I like that ddb is completely written in D and doesn't depend on any C libraries. It's also compatible with the IO model of vibe.

Ideally a database library would consist separate projects for the different database drivers. These would be fully usable on their own. The database library would build a database independent layer on top of the drivers. Everything should be compatible with the IO model of vibe.

I would go with ddb and mysql-native for the drivers.

[1] http://www.postgresql.org/docs/current/static/libpq-async.html

/Jacob Carlborg

Reply via email to