Skip to content

Development Ideas

INADA Naoki edited this page Oct 27, 2016 · 8 revisions

Send Connection Parameters in Auth Response [MySQL 5.6.6+]

http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse41 http://dev.mysql.com/doc/internals/en/capability-flags.html#flag-CLIENT_CONNECT_ATTRS

Support more Authentication plugins

Network Compression Mode (Issue #24)

http://dev.mysql.com/doc/internals/en/compression.html

Use separated goroutine to read from connection

Currently, we send request packet, then receives response packet.

Since Go doesn't provide efficient way to nonblocking EOF check, we may send request packet even if server closed the connection already. Sending request on already closed connection makes ErrBadConn unsafe. If we can detect EOF before sending packet, we can ErrBadConn safely.

Using separated goroutine to read from connection is Go's normal way for it. Reader goroutine may be required to implement Context support too (#496).

There may be significant performance regression. But I think we should do it.