This repository was archived by the owner on Feb 26, 2021. It is now read-only.

Description
As commented by @bgrainger on email:
we'd want to use MySQL Server 8.0 with the new CLIENT_OPTIONAL_RESULTSET_METADATA flag (https://dev.mysql.com/doc/refman/8.0/en/c-api-optional-metadata.html, https://dev.mysql.com/worklog/task/?id=8134) to dramatically reduce MySQL protocol bandwidth usage from sending unnecessary column metadata. This would require the "direct" API, because the client would need knowledge of the DB schema to be able to deserialise the bytes off the wire correctly.
Adding this to our list of issues here so that we can discuss it later with @bgrainger or other MySQL experts as possible optimizations. FWIW, @roji mentioned that this (the ability to execute queries without retrieving unnecessary column metadata) is one of the advantages of using prepared statements in PostgreSQL.