リリース日: 2009-03-16
このリリースは8.1.16に対し、各種の不具合を修正したものです。 8.1メジャーリリースにおける新機能についてはE.219. リリース8.1を参照してください。
8.1.Xからの移行ではダンプ/リストアは不要です。 しかし、8.1.15より前のバージョンからアップグレードする場合は、E.204. リリース8.1.15を参照してください。
符号化方式の変換に失敗した時、再帰的なエラーによるクラッシュを防止しました。(Tom)
この変更は、最近の2つのマイナーリリースにて関連する失敗の状況に対してなされた改修を拡張したものです。 前回の修正は元の問題報告に特化したものでしたが、符号化方式変換関数で発生するすべてのエラーがそのエラーを報告しようとして、無限に再帰される可能性があることが分かりました。 したがって、再帰的なエラー報告を行う状況になったことがわかった時の解決策は、変換と符号化方式を無効にし、通常のASCII形式のエラーメッセージで報告することです。 (CVE-2009-0922)
特定の変換関数に対する、間違った符号化方式を用いたCREATE CONVERSION
を許可しません。(Heikki)
これにより、符号化方式に関する失敗における、あり得る状況を防止します。 前回の変更は、同じ問題における別の種類の失敗に対する防止策でした。
引数のデータに対して不適切な整形用のコードがto_char()
に渡された時のコアダンプを修正しました。(Tom)
暗黙的な強制を使用したCASE WHEN
の逆コンパイルを修正しました。
(Tom)
この間違いにより、アサートを有効にして構築した場合にアサート失敗が発生する可能性がありました。 また、他の構築状況でもビューの検証やダンプを行う際に「unexpected CASE WHEN clause」というエラーメッセージが発生する可能性がありました。
TOASTテーブルの行型に対する所有者を間違って割り当てる可能性を修正しました。(Tom)
CLUSTER
またはALTER TABLE
の書き換え構文がテーブル所有者以外のユーザにより実行された場合、テーブルのTOASTテーブル向けのpg_type
項目が実行したユーザが所有するものとして記録されてしまいました。
TOASTの行型に対する権限は通常のデータベース操作ではまったく検証されませんので、これによりすぐに問題が発生することはありません。
しかし、後でコマンドを発行したロールを削除しようとした場合に想定外の失敗(8.1または8.2)や削除後にpg_dumpが「owner of data type appears to be invalid」という警告が発生する(8.3)可能性がありました。
ブロックの終了時に、PL/pgSQLのエラー状態変数を完全に消去します。(Ashesh Vashi、Dave Page)
これはPL/pgSQL自体の問題ではありませんが、これを行わないと、PL/pgSQLデバッガが関数の状態を検証する際にクラッシュする可能性がありました。
デフォルトの既知の時間帯省略形のリストにMUST
(モーリシャス島夏時間)を追加しました。(Xavier Bugaud)