MySQL : C API : PreparedStatement

PreparedStatementを使って、任意の長さの文字列を受け取る方法がわからない。
PreparedStatementでなければ大丈夫みたいなのだけど。

      • -

MYSQL_DATA_TRUNCATEDが返ったら、mysql_stmt_fetch_column()を使ってoffsetを指定して取り直せばよいのか。

      • -

通信量とメモリ使用量のバランスを考えて、長いフィールドは指定した長さだけ最初に取得するようにして、mysql_stmt_fetch()で全カラムのデータを取得して、必要になったときにだけ、truncateされたカラムについて、mysql_stmt_fetch_column()で追加で取得するようにするのがよいのではないか。

      • -

MYSQL_FIELDから取得したlengthから必要なサイズを割り当ててしまえばいいか。