Our great sponsors
-
go-mysql-server
A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
> I kept technical notes about the protocol, to serve as a future reference for myself and for other developers.
As someone who's written a MySQL client (in C#: https://github.com/mysql-net/MySqlConnector), I'd be very interested to see your notes. Are they available anywhere, or were they the confidential IP of your client?
> Unsurprisingly, bugs were uncovered every time a new client was added.
I've faced the same thing, from a client perspective. Every time a new server is tested (MySQL, MariaDB, Amazon Aurora, Azure Database for MySQL, etc.), I find slightly different interpretations of the protocol and have to accommodate them.
https://github.com/dolthub/go-mysql-server
One item under "Scope of this project":
Provide a runnable server speaking the MySQL wire protocol, connected to data sources of your choice.
Related posts
- I created an in-memory SQL database called MemSQL as a learning project
- A Golang library and interface that allows querying anything with SQL
- We're building a fuzzer for our versioned SQL database. It's catching bugs so you don't.
- A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.
- A MySQL-compatible relational database with a storage agnostic query engine. Implemented in pure Go.