On 2017-10-24 00:02, Adam Wilson wrote:

I've been looking pretty extensively at these two items recently.

If the database drivers are compatible with Vibe.d AND we wish to provide a common abstraction layer for them (presumably via Phobos) then order for the abstraction layer to aware of the whether the driver is making a blocking or non-blocking call we must include Vibe.D in the abstraction layer. Ergo, we must include at least the vibe-core package in Phobos, or more preferably, DRT.

It can be an optional dependency. Looking at ddb [1] it's not that much code that will be different if vibe.d is used or not. It's basically only reading and writing to the socket that is different [2]. Dub provides predefined version for different dependencies, i.e. Have_vibe_d_core.

I had heard noises about that a few months ago. Anything happening on that front?

No, not as far as I know. Sönke seems really busy recently.

What would the appetite be for working together to come up with a reasonably generic event loop for DRT that vibe and other systems could then leverage?

I would be really nice to database support directly in the standard library but it's not critical for me. It takes a lot of work with and massive overhead to get something into Phobos. It's also going to be really slow get in updates. I'm not sure if it's worth it.

[1] https://github.com/pszturmaj/ddb
[2] https://github.com/pszturmaj/ddb/blob/master/source/ddb/postgres.d#L189-L246

--
/Jacob Carlborg

Reply via email to