std.database

Erik Smith via Digitalmars-d digitalmars-d at puremagic.com
Tue Mar 1 13:00:30 PST 2016


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



More information about the Digitalmars-d mailing list