|
MySQL 5.1.57 リリースノート (日本語翻訳)
機能の追加または変更
・ --auto-generate-sql オプションを指定して mysqlslap を呼び出すと、テストランの最後に、 --create-schema オプションで指定されたスキーマが削除された。この動作はユーザが予期していない可能性があった。 mysqlslap はスキーマを削除しなくなり、スキーマの作成と削除の両方を行う新しい --create-and-drop-schema オプションを使用するようになった(Bug#58090、Bug#11765157)。
・ 新しいシステム変数 max_long_data_size は現在、CAPI関数 mysql_stmt_send_long_data() で送信可能なパラメータ値の最大サイズを制御する。サーバ起動時に設定しない場合、デフォルトはシステム変数 max_allowed_packet の値である。この変数は非推奨となっており、MySQL5.6では削除され、最大パラメータサイズは max_allowed_packet によって制御されるようになっている。
修正されたバグ
・ InnoDB ストレージエンジン : レプリケーション :プライマリキーのない InnoDB テーブルで、あらかじめ NULL を設定したカラムを更新しようとすると、Can'tfindrecordin' table 'ontheslaveというメッセージが表示されてレプリケーションが失敗した(Bug#11766865、Bug#60091)。
・ InnoDB ストレージエンジン : InnoDB が非常に重いI/Oロードを解釈すると、サーバがハングしている兆候として、15分間以上サーバが停止する可能性があった。今回の変更で、以前は擬陽性があった InnoDB スレッドの待機時間を測定するロジックが修正された(Bug#11877216、Bug#11755413、Bug#47183)。
・ レプリケーション : mysqlbinlog で --server-id オプションを使用すると、 mysqlbinlog がログの残りの部分を読み込めないまま、形式記述ログイベントがバイナリログからフィルタされた。現在は、このオプションの値に関係なく、そのようなイベントが必ず読み込まれる。
この問題の修正の一環として、現在は、 --server-id の値に関係なく、 mysqlbinlog がローテートログイベントも読み込む(Bug#11766427、Bug#59530)。
・ パーティショニング :パーティションの多いテーブルに対して INSERTONDUPLICATEKEYUPDATE ステートメントのパフォーマンスが低くなる点を以前に修正したが、その修正に問題があったため、特定のインデックスから行を読み込むハンドラ関数が、最後に使用されたパーティションのIDを格納できなかった。そのため、一部のステートメントが失敗しCan'tfindrecordエラーになっていた(Bug#59297、Bug#11766232)。
・ InnoDB が zlib 関数を呼び出す際、適切な初期化を行っていなかった(Bug#11849231)。
・ storage/ndb/test/sqlにある2つの未使用のテストファイルに、不正なバージョンのGNULesserGeneralPublicLicenseが含まれていた。それを含むファイルとディレクトリは削除されている(Bug#11810224)。
Bug#11810156も参照。
・ 定義に HAVING 句が含まれているビューから選択すると、以下のエラーで失敗した。
・1356:View'...'referencesinvalidtable(s)orcolumn(s)
・orfunction(s)ordefiner/invokerofviewlackrightstousethem
(Bug#60295、Bug#11829681)
・ サーバが net_buffer_length よりも小さい値を max_allowed_packet に設定することを許可していたが、 max_allowed_packet は net_buffer_length 値の上限であるためつじつまが合わなかった。現在は、警告が発せられ、値が未変更のままになる(Bug#59959、Bug#11766769)。
・ UpdateXML() または ExtractValue() の引数として使用されている閉じの一重引用符( ' )文字または二重引用符( " )文字がないXML文字列を処理しようとしたとき、サーバが1バイト多く読み込んでいた(Bug#59901、Bug#11766725)。
Bug#44332、Bug#11752979も参照。
・ サーバがsafemutexサポートでコンパイルされていた場合、31バイトより長い CHAR カラムに空間インデックスを作成しようとすると表明違反になっていた(Bug#59888、Bug#11766714)。
・ 集計にサブクエリが続くと、結果が正しくならない可能性があった(Bug#59839、Bug#11766675)。
・ 不正な文字セットポインタが my_strtoll10_mb2() に渡されると、表明が発生していた(Bug#59648、Bug#11766519)。
・ Item_func_set_user_var オブジェクトの変数を初期化しないと、表明が発生する可能性があった(Bug#59527、Bug#11766424)。
・ mysqldump が、 ALTERDATABASE ステートメントでデータベース名に引用符を付けなかったため、データベース名にダッシュが含まれる場合の再ロード時にエラーが発生する可能性があった(Bug#59398、Bug#11766310)。
・ Item_func_month::val_str() で、 NULL 値チェックが遅すぎることに対するValgrind警告が修正された(Bug#59166、Bug#11766126)。
・ Item::get_date で、 NULL 値チェックがないことに対するValgrind警告が修正された(Bug#59164、Bug#11766124)。
・ extract_date_time() で、文字列終わりチェックがないことに対するValgrind警告が修正された(Bug#59151、Bug#11766112)。
・ 文字列コンテキストで、 MIN() および MAX() 関数が、 BIGINTUNSIGNED 引数に符号がないことを考慮していなかった(Bug#59132、Bug#11766094)。
・ Item_func::val_decimal で、 NULL 値チェックがないことに対するValgrind警告が修正された(Bug#59125、Bug#11766087)。
・ Item_func_str_to_date::val_str で、初期化されていない変数に対するValgrind警告が修正された(Bug#58154、Bug#11765216)。
・ PROCEDUREANALYSE() のコードに DBUG_RETURN ステートメントがなかったため、デバッグビルドでサーバがクラッシュする可能性があった(Bug#58140、Bug#11765202)。
・ ジオメトリ関数のオーバーフローが原因で、 Item_func_int_val::fix_num_length_and_dec() で表明が発生する可能性があった(Bug#57900、Bug#11764994)。
・ テーブルの名前ロックが必要なステートメント( DROPTRIGGER など)が、そのテーブルを使用する INFORMATION_SCHEMA クエリと同時に実行されると、表明が発生する可能性があった(Bug#56541、Bug#11763784)。
・ クライアントがSSLを使用して接続されている場合、 Ssl_cipher_list ステータス変数が空になり、想定される暗号タイプを示さなかった(Bug#52596、Bug#11760210)。
・ lower_case_table_names=2 を設定すると、データベース名で限定されるオブジェクトの解決が失敗する可能性があった(Bug#50924、Bug#11758687)。
・ Valgrindによって発見された潜在的な不正メモリアクセスが修正された(Bug#48053、Bug#11756169)。
・ 1つのスレッドでビットマップ関数を使用すると、別のスレッドで使用されるビットマップが変更され、表明が発生する可能性があった(Bug#43152、Bug#11752069)。
・ SHOWEVENTS が必ずしも正しいデータベースからイベントを表示しなかった(Bug#41907、Bug#11751148)。