std.database
Jacob Carlborg via Digitalmars-d
digitalmars-d at puremagic.com
Sat Mar 5 12:37:44 PST 2016
On 2016-03-05 19:00, Erik Smith wrote:
> I'm definitely going to start working in async capability (or more
> accurately, non-blocking) into the interface. Both models are
> essential and there are strong use cases for both, but I know there is a
> lot of interest in NBIO for vibe.d compatibility. This is challenging
> and, as many are aware, the C clients for SQL databases have
> traditionally been synchronous only. One suggested approach is to fork
> the driver source and change the I/O calls to be non-blocking. Another
> is to implement a non-blocking driver directly against the wire protocol
> (a "native" driver). These are limited options, but to the extent this
> approach is viable in some cases (mysql-native for example), they could
> be adapted to a standard interface. The good news is that some
> databases do have (or are working on) non-blocking support in their C
> clients. The webscalesql mysql fork, for example, has a non-blocking
> client that is in production and their client works with regular mysql
> databases. That fork should eventually be merged back into mysql (or
> may have been already). Postgres also provides non-blocking support.
> These are two cases that I'm targeting for initial reference
> implementations.
Just for the record, there's already a native Postgres client that is
non-blocking and vibe.d compatible. https://github.com/pszturmaj/ddb
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list