tmtms.hatenablog.com の続き。
C API だと ORDER BY ?
のプリペアドステートメントでクライアントがフリーズするというのを書いたんだけど、Go だと問題ない という話があったので、MySQL のプロトコルを追ってみた。
プリペアドステートメントを発行すると通常は次のようにパケットが流れる。
=> COM_STMT_PREPARE "SELECT ?,?,? FROM tbl" <= ステートメントID, 結果セットのカラム数(3), プレースホルダの数(3) <= 謎パケット <= 謎パケット <= 謎パケット <= EOF パケット
…
[さらに読む]