|
MySQL 5.1.50 リリースノート (日本語翻訳)
InnoDBに関する注意事項:
・
InnoDBPlugin
はバージョン1.0.11にアップグレードされている。本バージョンは、GeneralAvailability(GA)の品質であるとみなされている。
今回のリリースでは、
InnoDBPlugin
は、RHEL3、RHEL4、SuSE9(x86、x86_64、ia64)、LinuxRPM汎用パッケージ、およびiccコンパイラで生成されたビルドを除き、ソースおよびバイナリディストリビューションに含まれている。また、FreeBSD6とHP-UX、およびia64全般のLinuxでは動作しない。
修正されたバグ:
・
重要な変更
:
レプリケーション
:
ステートメントベースのレプリケーションの場合、
LOADDATAINFILE
ステートメントはアンセーフとみなされる。ステートメントベースのログモードの使用時には、ステートメントは警告を生成するようになっている。混合形式のログの使用時には、ステートメントは行ベースの形式を使用して作成される(
Bug#34283
)。
・
パーティショニング
:
行ベースのレプリケーションを使用した場合、パーティションドテーブルに影響する
UPDATE
および
INSERT
ステートメントは正しく動作しなかった。
・
パーティショニング
:
多数のパーティションがあるテーブルでは、
INSERTONDUPLICATEKEYUPDATE
ステートメントが正しく動作しなかった。これは、特定のインデックスから行を読み取るためのハンドラ関数がパーティショニングハンドラで最適化されなかったことが原因だった(
Bug#52455
)。
・
--innodb-use-system-malloc=0
を使用してサーバを起動すると、サーバがクラッシュまたはシャットダウンする可能性があった
(
Bug#55581
)。
・
GROUPBY
演算子は、
max_sort_length
を一貫性なく使用していた(
Bug#55188
)。
・SunStudioを使用した場合、Solaris8x86でのMySQLのビルドは、 gcc インラインアセンブラコードが原因で失敗した( Bug#55061 )。
・デバッグビルドでは、
UPDATE
ステートメントのWHERE条件の処理中にエラーの検出に失敗した後、サーバがOKパケットをクライアントに送信しようとすると、表明が発生する可能性があった(
Bug#54734
)。
・アクティブなトランザクションがあるテーブルの名前を変更すると、データベースサーバがクラッシュする可能性があった(この問題は、デバッグ用にビルドされた場合にのみデータベースサーバに影響した)( Bug#54453 )。
・オフページストレージを使用するBLOBまたは他の大きなカラムを、
ROW_FORMAT=REDUNDANT
または
ROW_FORMAT=COMPACT
で作成された
InnoDB
テーブルに挿入しているときにサーバがクラッシュした場合、そのサーバは起動のリカバリ段階でクラッシュする可能性があった(
Bug#54408
)。
・
ROW_FORMAT=COMPRESSED
または
ROW_FORMAT=DYNAMIC
で作成された
InnoDB
テーブルの場合、
オフページストレージを使用するBLOBまたは他の大きなカラムが同時に挿入されると、
READUNCOMMITTED
アイソレーション
レベルを使用しているクエリはサーバの停止を引き起こして表明エラーを発生する可能性があった(
Bug#54358
)。
・クライアントは、
mysql_stmt_send_long_data()
CAPI関数(または
COM_STMT_SEND_LONG_DATA
コマンド)を使用して、
TEXT
または
BLOB
タイプ以外のプリペアドステートメントパラメータにデータをチャンクで供給する可能性があった。他のデータタイプは長いデータに対して無効であるため、これによってクラッシュが発生した(
Bug#54041
)。
・ mysql_secure_installation は、ローカルアカウントを正しく識別しなかったため、非ローカルのルートアカウントを誤って削除する可能性があった( Bug#54004 )。
・
InnoDB
テーブルに対する
ALTERTABLE...ADDPRIMARYKEY
、またはテーブル全体のコピーを伴う他の操作の実行後にサーバがクラッシュして再起動された場合、トランザクションは、リカバリ時に後退復帰されるのではなく不正にコミットされる可能性があった(
Bug#53756
)。
・
SHOWSTATUS
における移植性の問題により、一部のプラットフォームでは不正な結果になる可能性があった(
Bug#53493
)。
・MySQLのビルドでは、多数の警告が生成された( Bug#53445 )。
・
lower_case_table_names
がゼロ以外の値に設定されている場合、
INFORMATION_SCHEMA
テーブルでテーブル名またはデータベース名を検索すると、不正な結果になる可能性があった(
Bug#53095
)。
・MySQLのABIチェックは、 gcc 4.5でコンパイルに失敗した( Bug#52514 )。
・ mysql_secure_installation は、 mysql クライアントを特定できないことがあった( Bug#52274 )。
・
LOADDATAINFILE
で
ucs2
データファイルを読み取る際には、3つの問題が生じる可能性があった。1)
ucs2
データとしてファイルが正しく解析されず、その結果、解析された文字列が間違った長さになった。これは、ファイルから読み取るときに無効な後続バイト(不完全なマルチバイト文字)を切り捨てることで修正されている。2)正しい
ucs2
ファイルからの読み取りでは、改行文字が認識されなかった。これは、マルチバイト文字の一部としてバイトを読み取る前に、そのバイトが改行(または他の特殊文字)かどうかを先にチェックすることで修正されている。3)ユーザ変数を使用してカラムデータを保持すると、ユーザ変数の文字セットが誤ってデータベース文字セットに設定された。これは、
LOADDATAINFILE
ステートメントで文字セットが指定されている場合はその文字セットに設定するという方法で修正されている(
Bug#51876
)。
・
存在しないデータベースに一致する行を
INFORMATION_SCHEMA
テーブルで検索すると、空のクエリ結果ではなくエラーが生成された(
Bug#49542
)。
・FreeBSDでは、基礎となるテーブルが空の場合、
MERGE
テーブルのメモリマッピングが失敗する可能性があった(
Bug#47139
)。
・
アジアの文字セットの場合、
my_like_range_
xxx
()
関数は不正に形成された最大文字列を返したため、ストレージエンジンで問題が発生した(
Bug#45012
)。
・閉じたソケットへの書き込み失敗後に、デバッグ表明が発生する可能性があった( Bug#42496 )。
・非常に長いキーの場合、yaSSL内で表明違反が発生した( Bug#29784 )。
Bug#53463 も参照。