Native D MySQL Driver

Steve Teale steve.teale at britseyeview.com
Thu Nov 3 22:15:41 PDT 2011


I'm getting pretty close to having a reasonably comprehensive native D 
driver for MySQL - no translated header files, no linking to libraries.

However there are three blocking factors, features missing in Phobos that 
would stop it's use as things stand.

1) No UNIX Socket support in std.socket.
2) No Windows Named Pipe support that I've noticed.
3) No SHA1 digest support

I also have a question. MySQL potentially produces result sets of up to 
64 bit size - rows. The MySQL client theoretically copes with these by 
storing a result set as a doubly linked list, and there's nothing to stop 
me doing the same. But is it necessary?

The whole point of a database seems to me to be to access the data you 
need, rather than all the data in the Universe at the same time. Even if 
I opt for result sets limited to 32 bit row numbers, if you pulled one 
from the server with rows of only 20 bytes, you'd still be talking about 
80Gb of memory. Does any application do that sort of thing.

Even if it did the driver can still produce the rows one at a time so 
that the application could devise its own storage strategy (perhaps it 
could write the rows to a temporary database table ;=))

Steve


More information about the Digitalmars-d mailing list