|
MySQL 5.1.66 リリースノート (日本語翻訳)
修正されたバグ
・ InnoDB :MySQL5.6で最初に導入された information_schema テーブルの一部が、MySQL5.5とMySQL5.1でも使用可能になった。該当するテーブルは、 INNODB_BUFFER_PAGE 、 INNODB_BUFFER_PAGE_LRU 、および INNODB_BUFFER_POOL_STATS (Bug#13113026)。
・ InnoDB : SELECT... FORUPDATE 、 UPDATE 、またはその他のSQLステートメントが、 WHERE 句で < または <= 演算子を使用して InnoDB テーブルの行をスキャンするとき、対象となる範囲の次の行もロックされる可能性があった。この問題によって、ロックされないはずの行でロック待機のタイムアウトが発生することがあった。この問題は、 READCOMMITTED や REPEATABLEREAD などさまざまなアイソレーションレベルで発生していた(Bug#11765218)。
・ パーティショニング :ソート読み込みに使用される各パーティションから現在読み込まれている行のためのバッファは、オープンに割り当てられ、パーティショニングハンドラがクローズまたは破棄されるときにのみ解放されていた。多数のパーティションと大きい行を含むテーブルに対してSELECTステートメントを使用すると、この問題が原因でサーバがきわめて大量のメモリを消費する可能性があった。
この問題に対処するために、パーティションドテーブルからの読み込みバッファは必要なときにのみ割り当てられ、不要になった時点でただちに解放されるようになっている。この修正の一環として、メモリの割り当ては現在、取り除かれていないパーティションの行からの読み取りに対してのみ行われる( 18.4項「PartitionPruning」 を参照)(Bug#13025132)。
参考:Bug#11764622、Bug#14537277も参照。
・ レプリケーション : --log-slave-updates を有効にしたマスタ-マスタレプリケーションで、ユーザ変数を設定してからこの変数を使って挿入を実行すると、 SHOWSLAVESTATUS の出力で Exec_master_log_position カラムが更新されない可能性があった(Bug#13596613)。
・ sort_buffer_size の値が小さいと、サーバがクラッシュする可能性があった(Bug#14111180)。
・ libmysqlclient_r クライアントライブラリが yaSSL からエクスポートするシンボルは、OpenSSLと競合する。プログラムがこのライブラリと libcurl にリンクされている場合、セグメンテーションエラーでクラッシュする可能性があった(Bug#14068244)。
・ LIMIT の引数は整数でなければならないが、プリペアドステートメントでこの引数をプレースホルダによって指定した場合、 '5' のような非整数の値がサーバで拒否されなかった(Bug#13868860)。
・ ビューを通じて INFORMATION_SCHEMA テーブルにアクセスすると、メモリリークが発生する可能性があった(Bug#13734987)。
・ 基礎となるテーブルに2つのカラムでの複合インデックスがあり、かつクエリには列に対する AND 条件が含まれている場合、 FEDERATED テーブルに対するクエリで正しくない結果が返される可能性があった(Bug#12876932)。
・ --ssl-key オプションの引数は、存在するかどうか、有効なキーかどうかが検証されなかった。生成される接続はSSLを使用したが、キーは使用されなかった(Bug#62743、Bug#13115401)。
・ デバッグビルドで、オープンな範囲の禁止について InnoDB の表明が過剰だった(Bug#66513、Bug#14547952)。
・ GROUPBY と ORDERBY を含むクエリに LIMIT 句を追加すると、オプティマイザがクエリを処理する際に誤ったインデックスを選択し、必要以上の行を返す可能性があった(Bug#54599、Bug#11762052)。
・ 標準入力がパイプの場合に、標準入力で mysqlbinlog が入力を受け付けなかった(Bug#49336、Bug#11757312)。