I'm back to actively working on a std.database specification & implementation. It's still unstable, minimally tested, and there is plenty of work to do, but I wanted to share an update on my progress.

The main focus of this project is to bring a standard interface for database clients. This is similar to the purpose of JDBC (java) and DBI (perl). While there is some existing work in place (ddbc, etc.c.odbc.sql, vibe.d and other newer projects), my goal, after a lengthly period of community review/revision, is to achieve Phobos inclusion for the interface standard and also some of the implementations. There is debate on whether the implementations belong there, but I have made the implementation Phobos compatible (by using templates) while this issue is sorted out.

The initial focus of this project is to first cover the synchronous interface details and get it to a refined state. Asynchronous I/O is also important and it will take some time to work that into the model with a number of complicated aspects to consider.

Also, this is not an ORM tool, although it does provide a foundational layer for building one. This is also aimed at SQL databases, although I will consider how no-sql targets might fit in.

There are now implementations for 4 initial targets (sqlite, mysql, Oracle, and ODBC) and they are in a basic working state with a common test suite.

For usage examples and other limited project details, see the github page:
https://github.com/cruisercoder/dstddb

Dub link coming soon (dealing with dub zombie name) along with more progress updates.

Please feel free to comment or question on the design as evolves.

erik

Reply via email to