I’m actively working on the low level interface and I’m making good progress. My goal is to have a high quality interface definition with working reference drivers for top tier databases. The current references drivers are ODBC, sqlite, mysql, and Oracle.

I think it’s important to support ODBC since it covers all bases, but I agree that ODBC alone is not sufficient. The main reason is that most application developers coming from other stacks will be expecting direct drivers and are not likely to be happy dealing with the added complications of ODBC. However, I think both are achievable in the near term under a common interface.

On the async question, the native interfaces are traditionally synchronous and that’s my initial focus. I will need to look at which native interfaces actually support it and see how that can be mapped into the generic interface, but synchronous needs to be supported.

There is a known issue with RefCounted that needs to be addressed. There is a apparently a race condition with the reference counter when RefCounted is within a class. Nearly all of the types in my design are ref counted structs and there are use cases for embedding those objects in classes. There was discussion at the conference on this and I believe the preferred solution is for the GC have some thread affinity on collection.

Reply via email to