8.2.0501

  1. 5月9日の修正1でLENGTHだけでなくDISPLAY_SIZEまで修正していしまったのを、DISPLAY_SIZEの方は元に戻した。
  2. SQLGetInfoのSQL_DATABASE_NAME問い合わせに対しデータベース名を答えているが、MS Queryに関してはこれがまずい結果を生むようなので空文字列を返すように変更。
  3. 以前からSELECT文をDECLARE CURSOR ...とFETCHに変換しようとするUseDeclareFetchモードでも、SELECT文がFOR UPDATEを含む場合はこの変換を回避していた。これをFOR SHAREを含む場合にも適用、更にどちらも含まない場合はDECLARE文の最後にFOR READ ONLYを補う(8.3以後)ように変更した。8.3ではupdatable cursorが実装され、DECLARE文にFOR UPDATE/SHAREが記述できるようにはなったのであるが、使いづらいスペックであるためやはり適用を回避することにした。また、FOR READ ONLYを省略しても、暗黙でFOR UPDATE/SHAREと解釈されることはないようであるが、SQL標準はそんなケースがありうることを示しているため、用心のためFOR READ ONLYを補うことにした。
  4. pgsql-jpメーリングリストでの樋口氏のバグレポート対応。lo型がうまく認識できない場合、bookmarkのfetch操作から呼び出されるcopy_and_convert_field()がlo型変換ととして誤認識される場合がある不具合を修正。