MySQLNIO: Client for MySQL server built on NIO.
The Vapor Core team would like to pitch its MySQL NIO library to the SSWG incubation process. This provides a client for connecting to, authorising, and querying a MySQL sever.
Most Swift implementations of a MYSQL client are based on the
libmysqlclient C library which handles most things internally internally. Building a library directly on top of MySQL's wire protocol using SwiftNIO should yield a more reliable, maintainable, and performant interface for MySQL databases.
Additionally MySQL is a widely used database solution and providing a server client would fill an important gap in the server-side Swift ecosystem.
Vapor's MySQLNIO library is already released and in use, with about 1300 unique cloners a week. The library provides a Swift native solution for MySQL and has been fairly well tested and put through it paces in the 8 months since its 1.0.0 release.
A detailed implementation (and usage guide in the README) would be provided if the community though the package was useful and decided to proceed with a proposal. We are slightly constrained in that as we are already released, breaking changes would need to address significant issues to be warranted.
We look forward to your feedback!