|
MySQL 5.5.15 リリースノート (日本語翻訳)
機能の追加または変更
・
perror
について未記載だった
--all
オプションは非推奨となっており、MySQL5.6では削除される。
修正されたバグ
・ InnoDB ストレージエンジン : InnoDBテーブルに対するCREATEINDEX操作が失敗すると、一部のメモリが割り当てられたまま解放されない可能性があった。このメモリリークが、ROW_FORMAT=DYNAMICまたはROW_FORMAT=COMPRESSED設定で作成されるテーブルに影響する可能性があった(Bug#12699505)。
・ パーティショニング :パーティションドテーブルの自動増分のカラムが、書き込まれていないときにもチェックされていた。デバッグビルドでは、これが原因でサーバがクラッシュする可能性があった(Bug#11765667、Bug#58655)。
・ パーティショニング :パーティションを取り除く目的で、 UNIX_TIMESTAMP() 関数が単調関数として扱われていなかった(Bug#11746819、Bug#28928)。
・ gcc 4.6以降では、保守用モードを有効にしてサーバをコンパイルすると失敗した(Bug#12727287)。
・空文字列のオプション解析コードによってメモリリークが発生した(Bug#12589928)。
・以前は、クラスタ化されたプライマリキーを持つInnoDBテーブルに対するマルチテーブル更新によって、複数のエイリアスを通じてテーブルを更新し、少なくともそのエイリアスの1つで物理的に行が移動されるような更新を実行した場合、不適切なエラーメッセージが生成された。現在は次のようなメッセージが表示される。Primarykey/partitionkeyupdateisnotpermittedsincethetableisupdatedbothas'tbl_name1'and'tbl_name2'(Bug#11882110)。
Bug#11764529も参照。
・ レプリケーション : LOADDATAINFILE ステートメント(ステートメントベースのレプリケーションを使用して複製された)で SET 句を使用すると、主として EXPLAINEXTENDED などのステートメントに対して出力を生成するためのメソッド(Item::print())を使用して、名前/値ペアが再生成された。これに依存して有効なSQLを返すことはできず、場合によってはスレーブがクラッシュすることがあった。
この問題を修正するために、サーバはユーザ指定の独自形式で各値に名前を付けるようになり、ステートメントベースのレプリケーションにはその値を使用して LOADDATAINFILE ステートメントを作成するようになっている(Bug#60580、Bug#11902767)。
Bug#34283、Bug#11752526、Bug#43746も参照。
・新旧どちらのバージョンのテーブルも、カラムのデータタイプに関して構造がまったく同じである場合に、 ALTERTABLE{MODIFY|CHANGE}...FIRST がカラム名の変更しか行わなかった。その結果、カラム名とカラムデータのマッピングが正しくならなかった。古いバージョンとまったく同じ構造で新しいバージョンのテーブルを生成するための ALTERTABLEDROPCOLUMN...ADDCOLUMN ステートメントでも、同様のことが発生した(Bug#61493、Bug#12652385)。
・ FLUSHTABLESWITHREADLOCK で、事前ロックが必要なステートメントのメタデータロックが正しく処理されないために、2つの問題が発生していた。
oトランザクションの一部として、事前ロックを必要とする(つまり、ストアドファンクションまたはトリガを伴う)データ変更ステートメントを実行すると、同じトランザクションで以降のステートメントがすべて、いくらか遅くなった。このようなステートメントを定期的に伴うトランザクションでは、時間の経過とともにパフォーマンスが徐々に低下していた。
oトランザクションの一部として事前ロックを必要とするデータ変更ステートメントを実行すると、特定のステートメントの最後ではなくトランザクションの最後まで、同時の FLUSHTABLESWITHREADLOCK が処理されなかった。
(Bug#61401、Bug#12641342)
・MySQLのステータス出力(たとえば、 mysqladminstatus や mysql のSTATUSコマンドからの出力)で、「Queriespersecond(1秒当たりのクエリ数)」値の小数点以下が正しく表示されていなかった(Bug#61205、Bug#12565712)。
・ファイルシステムでデータファイルの相対パス名が3階層を超える場合に LOADDATAINFILE がそのパス名を正しく解析できず、結果的にファイルが見つからなかった(Bug#60987、Bug#12403662)。
・不明なユーザについて、ネイティブのパスワードプラグインからのレポートが誤っており、実際には指定されていてもパスワードが指定されなかったとレポートされた(Bug#59792、Bug#11766641)。
・ MyISAM テーブルで、インデックス付きのGEOMETRYカラムに誤ったデータを挿入しようとすると、テーブルが破損する可能性があった(Bug#57323、Bug#11764487)。
・デバッグビルドで、Field_new_decimal::store_value()がバッファオーバーフローの危険性があった(Bug#55436、Bug#11762799)。
・データベース名で限定された名前を使用するストアドルーチンのロードと、そのデータベースの削除の間に競合があるため、以下のような誤ったエラーメッセージが出力された。Thetablemysql.procismissing,corrupt,orcontainsbaddata(Bug#47870、Bug#11756013)。