Handles a connection from a client to Spanner. This ConnectionHandler uses WireMessage to receive and send all messages from and to the client, using the intermediate
representation IntermediateStatement that servers as a middle layer between Postgres and
Spanner.
Each ConnectionHandler is also a Thread. Although a TCP connection does not
necessarily need to have its own thread, this makes the implementation more straightforward.
The PostgreSQL wire protocol can send data in both binary and text format. When using text
format, the Server will normally send output back to the client using a format
understood by PostgreSQL clients. If you are using the server with a text-only client that does
not try to interpret the data that is returned by the server, such as for example psql, then it
is advisable to use Cloud Spanner formatting. The server will then return all data in a format
understood by Cloud Spanner.