|
MySQL 5.1.63 リリースノート (日本語翻訳)
修正されたバグ
・ セキュリティ修正 :Bug#64884が修正された。
・ セキュリティ修正 :Bug#59387が修正された。
・ 重要な変更 : パーティショニング :クエリキャッシュが、トランザクションコンテキストでパーティションドテーブルに対して正しく機能しない場合があった。このため、パーティションドテーブルを使用するクエリに対しては現在クエリキャッシュが無効化されており、該当するクエリはキャッシュされない。詳細については、 18.5項「RestrictionsandLimitationsonPartitioning」 を参照(Bug#11761296、Bug#53775)。
・ InnoDB : InnoDB テーブルから短時間で大量のデータを削除すると、削除されてマークされたレコードを削除する パージ 操作が停止する可能性があった。この問題によりディスクスペースが無駄に消費される可能性はあったが、データ整合性に問題は発生しない。この問題のためにディスクスペースが不足する場合は、サーバを再起動して回避する。この問題が起きる可能性があるのは32ビットプラットフォームのみである(Bug#13847885)。
・ InnoDB : InnoDB テーブルに対する TRUNCATETABLE または CREATEINDEX ステートメント、あるいは InnoDB テーブルを含むデータベースに対する DROPDATABASE ステートメントの実行中にサーバがクラッシュすると、インデックスが破損する可能性があり、再起動後にそのテーブルにアクセスした際に次のエラーメッセージが表示された。
・InnoDB:Error:tryingtoloadindex index_name fortable table_name
・InnoDB:buttheindextreehasbeenfreed!
MySQL5.1では、この修正はInnoDBプラグインに適用されるが、組み込みのInnoDBストレージエンジンには適用されない(Bug#12861864、Bug#11766019)。
・ InnoDB : InnoDB テーブルからデータを削除する際、新しく挿入したデータが解放後のディスクブロックを再利用せず、システムのテーブルスペースまたは.ibdファイル( innodb_file_per_table の設定により異なる)が予期しないサイズまで増大する可能性があった。 OPTIMIZETABLE は、場合によって.ibdファイルを圧縮するが、それ以外はしない。解放されたディスクブロックは、追加のデータが挿入された時点で最終的に再利用される(Bug#11766634、Bug#59783)。
・ レプリケーション : --relay-log-space-limit オプションが無視されることがあった。
具体的に言うと、SQLスレッドがスリープするとき、I/Oスレッドはイベントをさらにキューに追加できるため、リレーログのスペース制限がバイパスされることがあった。またキューのイベント数が多くなってリレーログのローテーションが必要な段階を超えてしまう可能性があった。現在ではこのような場合、SQLスレッドはI/Oスレッドのローテーションが必要かどうかをチェックし、SQLスレッドがログをパージできる(したがってスペースを解放する)ようになっている。
ただし、SQLスレッドがトランザクションを実行中の場合はログをパージできず、トランザクションが完了するまで追加のイベントを要求できるだけである。トランザクションが完了すると、SQLスレッドはただちにI/Oスレッドのローテーションを命令できる(Bug#12400313、Bug#64503)。
参考:Bug#13806492も参照。
・ スレーブサーバ上のストアドプロシージャ内でSQLの NO_BACKSLASH_ESCAPES モードが誤って処理され、レプリケーションに失敗する可能性があった(Bug#12601974)。
・クエリの実行中にシステム時間が逆方向に調整された場合、見かけの実行時間が負になる可能性があったが、場合によってはこのようなクエリが低速クエリログに書き込まれ、負の実行時間が符号なしの大きい値として書き込まれていた。現在、見かけの実行時間が負になるステートメントは低速クエリログに書き込まれない(Bug#63524、Bug#13454045)。
参考:Bug#27208も参照。
・ mysql_store_result() と mysql_use_result() は、プリペアドステートメントでは使用されず、 mysql_stmt_execute() に続いて呼び出されることは想定されていないが、 libmysqld でそのように呼び出された場合でもエラーを返さなかった(Bug#62136、Bug#13738989)。
参考:Bug#47485も参照。
・ SHOW ステートメントがストアドプロシージャ名、ストアドファンクション名、およびイベント名を処理する際に、大文字小文字が区別されていた(Bug#56224、Bug#11763507)。
・ Windowsで共有メモリを使用した接続を試行すると、 mysqlslap がクラッシュした(Bug#31173、Bug#11747181、Bug#59107、Bug#11766072)。