|
MySQL 5.0.88 リリースノート (日本語翻訳)
修正されたバグ:
・ セキュリティ修正 :OpenSSLに対してリンクされたMySQLクライアントが、yaSSLに対してリンクされているサーバから提示されたサーバ証明書をチェックしなかった( Bug#47320 )。
・ MySQLCluster :データノードが1メガバイトの先頭ページにそのGCIマーカを書き込んだ後、該当ノードが該当ページ(マーカ)を処理してからLCPを完了する前のリスタート中に強制終了されると、該当するデータノードがファイルシステムエラーで失敗する可能性があった( Bug#44952 )。
・ レプリケーション :マスタ上で、あるセッションをクローズした場合、以下のいずれかの条件が成立していると、該当セッションに属するテンポラリテーブルが間違ったデータベース名でログに記録された。
a.テンポラリテーブルが属するデータベースの名前の長さが、現在のデータベース名よりも長かった。
b.現在のデータベースが設定されていなかった。
( Bug#48216 )
・クエリに、テンポラリテーブルを使用するビューが含まれており、
FROM
句および
PROCEDUREANALYSE()
に複数のテーブルが含まれていると、サーバがクラッシュした。
本バグを修正した結果、
PROCEDUREANALYSE()
は
トップレベルの
SELECT
でのみ有効になった
(
Bug#48293
)
。
Bug#46184 も参照。
・
SELECT
ステートメントで、
WHERE
句にサブクエリが含まれており、
SELECT
の結果がユーザ変数に代入される場合、エラー処理が実行されなかった。その結果、サーバがクラッシュする可能性があった(
Bug#48291
)。
・オプティマイザがSPATIALインデックスを使用していると、表明が失敗する可能性があった( Bug#48258 、 Bug#47019 )。
・1つのクエリ内で
GROUPBYWITHROLLUP
、
DISTINCT
、および
const
結合タイプを組み合わせて使用すると、
DISTINCT
の解決にオプティマイザがテンポラリテーブルの採用を選択した場合、サーバがクラッシュした(
Bug#48131
)。
・
mysys/mf_keycache.c
にはスレッディングが必要であるが、スレッドサポートのテストが実行されていなかった(
Bug#47923
)。
・
GeomFromWKB()
関数は、その第1引数がジオメトリ値の場合、その値を単に返すのみであるが、該当引数の
null_value
フラグを保持しないため、予期しないNULL値が呼び出し元に返され、その結果サーバがクラッシュした(
Bug#47780
)。
・GPLのヘッダと商用ライセンスのヘッダのサイズが異なっていた。そのため、エラーログ、backtrace、コアダンプ、およびクラスタトレースファイルの行番号は、ビルドに使用されたソースのバージョンに照らしてチェック(GPLビルドのbacktraceを商用ソースに照らしてチェックするなど)しないと、1つずれる可能性があった( Bug#46216 )。
・RedHatIA64MySQLサーバRPMのビルド時、システムライブラリのリンク順序が正しくなかった。その結果得られるRedHatIA64RPMは"libc.so.6.1(GLIBC_PRIVATE)(64bit)"に依存することになり、該当パッケージをインストールすることができなかった( Bug#45706 )。
・
BIT
値を符合なしとして処理することができないと、予期しない結果になる可能性があった(
Bug#42803
)。
・外部結合がネストしていると、内部のデータ構造の処理が不適切なために、クエリがクラッシュしたり正しい結果にならない可能性があった( Bug#42116 )。
・スレーブで
innodb_locks_unsafe_for_binlog
が有効になっているレプリケーションシナリオの場合、行は(レプリケーション経由ではなく)スレーブ上でのみ変更されるが、スレーブのエラーログに「
InnoDB:Error:unlockrowcouldnotfinda4modelockontherecord
.」という形式のメッセージが多数書き込まれる場合がまれにあった(
Bug#41756
)。
・以前削除された
mysql_odbc_escape_string()
関数のスタブが、
ABIの破損を修正するために復元された。この関数は、プライベートかつConnector/ODBC専用であったが、ABIの一部としてエクスポートされた。それにもかかわらず、元の関数が本来破損していて使用すべきではないため、現在はスタブのみが復元されている。
・ユーザの名前を変更した後に、そのユーザに権限を許可すると、ユーザが許可された権限以外の権限も所持する可能性があった( Bug#41597 )。
・
GRANT
の属性(テーブル名やユーザ名など)間のレターケースの違いをサーバが認識しない場合があった。たとえば、ユーザが同じユーザ名でレターケースが異なる別のユーザ権限を使用し、テーブルに対して処理を実行することができた。
本バグを修正した結果、
mysql.proc
テーブルの
Routine_name
カラムに対する照合は、
utf8_bin
から
utf8_general_ci
に変更されている(
Bug#41049
)。
Bug#48872 も参照。