8.2.0402 別のテスト

uniqueidentifier(http://gborg.postgresql.org/project/uniqueidentifier/projdisplay.php) というユーザー定義型を使用するとODBC経由のデータ読み込みで切捨てが発生するというバグレポートあり。URLを見てみたが古いプロジェクトだしWindows適用は不可みたいである。要は128ビット(=16バイト)のUUIDを処理するためのものらしく、テキスト表示するととても16文字では収まらない所が特徴のようだ。出来合の型で似たようなのはないかと探して見るとmacaddrという型が見つかったので、早速テストしてみたが確かに6文字でちょん切られてしまう。6という数字はmacaddrという型のバイナリ表現に必要なオクテット(=バイト)数でありユーザー定義型項目に対する問い合わせのこの数値を報告している箇所が見つかりました。それならテキスト表現に必要な大きさは?というと適切な方法が見当たらない。ということでユーザー定義型(というかpsqlodbcが意識しない型)に対しては最大長を答えるように変更を行いました。