訳者注: MySQL 8.0.38、MySQL 8.4.1、およびMySQL 9.0.0は、テーブルを8001個以上作成した際にサーバー再起動ができなくなる問題が検出されたため、ダウンロード不可になりました。この問題を修正したMySQL 8.0.39、MySQL 8.4.2、MySQL 9.0.1をリリースしましたので、アップグレードをお願いいたします。
本記事は MySQL 9.0 is out! Thank you for your contributions! の翻訳版です。
2024年7月に、MySQLは3つの新しいリリースを発表しました。MySQL 8.0の最新版であるMySQL 8.0.38、MySQL 8.4 LTSの最初のアップデートであるMySQL 8.4.1、イノベーション・リリースのMySQL 9.0です。左記はいずれもオープンソースであり、サポートを継続中のバージョンです(2024年7月現在)。
今回のリリースでもMySQLコントリビュータの皆様によるバグ報告や、送ってくださったパッチを活用させていただきました。
皆様のコントリビューションについてはこれまでもリリース・ノートで取り上げていましたが、改めて謝意を示すためにも今回はMySQL公式ブログでも言及したいと思います。
頂いたパッチは複数のバージョンで使用していることもあります。
皆様のコントリビューションを以下にご紹介します。
MySQL 8.0
ここでは、MySQL 8.0.34 – 8.0.38に反映されたコントリビューションをご紹介します。
Clients, C API
- #92755 – mysqldumpのカラム統計クエリを修正 – Meta [8.0.34]
- #98350 – エラーに関する変数を初期化 – Meta [8.0.34]
- #98352 – 参照前にnetをチェック – Meta [8.0.34]
- #98385 – Mysqladmin関連の修正 – Meta [8.0.34]
- #110658 – mysql_binlog_xxx()関数がライブラリlybmysqlclient.soにエクスポートされない問題の修正 – Yura Sorokin (Percona) [8.0.34]
Cluster (NDB)
- #103814 – Cluster Jパーティション・キーのスクラッチ・バッファ・サイズの問題を修正 – Mikael Ronström [8.0.34]
- #110807 – NDB に無かったs390xのサポートを追加 – Namrata Bhave [8.0.36]
- #112775 – RonDB 475 によるコントリビューションを反映 – Mikael Ronström [8.0.36]
- #114147 – [RONDB-620] 外部キー・カラムの順序不一致の問題を修正 – Axel Svensson [8.0.38]
MySQL Server
- #105092 – AUTO_INCREMENTをALTER TABLEで追加後、既に入力されている値が考慮されない問題を解消 – Dmitry Lenev (Percona) [8.0.34]
- #109576 – スクランブル・アルゴリズムのドキュメントを修正 – Niklas Keller [8.0.34]
- #110251 –エラー・メッセージget_lockに関する情報の変更 – Bin Wang [8.0.34]
- #110494 – FLUSH STATUS、COM_CHANGE_USER、および SELECT FROM I_S.PROCESSLIST 間のデッドロックを修正 – Dmitry Lenev (Percona) [8.0.34]
- #110801 – PREPAREステートメントの問題を修正 – Hao Lu [8.0.35]
レプリケーション
- #107996 – ジオメトリ・カラムのデフォルト値を修正 – Yin Peng (Tencent) [8.0.34]
- #109154 – エラー・ログで表示される、スレーブ起動の推奨コマンドを修正 – Dan McCombs [8.0.34]
- #109485 – binlog_order_commitsが無効の場合に、次のバイナリ・ログのイベントPrevious_gtidsがgtidを正しく認識しない問題を修正 – Yewei Xu (Tencent) [8.0.34]
InnoDB, Clone
- #109873 – 必要のないエラーがbuf_page_init_for_readで維持される仕様を修正 – Alex Xing [8.0.34]
- #110569 – ディスクのセクター・サイズに応じて、クローン・プラグインがREDOログ書き込みに失敗する問題を修正 – Yin Peng(Tencent) [8.0.35]
- #110652 – trx->in_innodbに無効な値が入ることによって引き起こされるtrxのハング・アップを解消 – Shaohua Wang [8.0.37]
- #111823 – INSTANTを使用したカラムの修正 – Richard Dang [8.0.37]
- #112137 – innodb_use_native_aioが無効のときの並列読取り処理を高速化 – Ke Yu [8.0.37]
- #112424 – PREPAREDトランザクションとACTIVEトランザクションの両方があるとき、バックグラウンド・ロールバック中にサーバがクラッシュする問題を修正 – Genze Wu [8.0.37]
- #114154 – パーティション化したテーブルを読み込んだ後の並列読取り処理を高速化 – Ke Yu [8.0.38]
- #115041 – Validate_files::check関数にて、不使用のHEAPを削除 – Huaxiong Song [8.0.38]
オプティマイザ
- #109979 – 関数GROUP_CONCATと修飾子ROLLUPを使ったクエリ文の修正 – Dmitry Lenev (Percona) [8.0.34]
- #111465 – クエリ結果のキャシュに関する問題を修正 – Nicholas Othieno [8.0.35]
全文検索
- #114156 – fts_sync_commitがクラッシュ・セーフでない問題を修正 – Yin Pen (Tencent) [8.0.37]
コンパイル
- #110216 – 静的モード時にコンパイルが失敗する問題を修正 – Alex Xing [8.0.34]
- #111190 – LANG=ja_JP.UTF-8の際、ビルドが失敗する問題の修正 – Kento Takeuchi [8.0.34]
- #111549 – zlibシステムライブラリのバージョン検出を修正 –Nikolai Kostrigin [8.0.34]
- #111467 – CMakeプログラムにて変数をPARENT_SCOPEに設定する際に発生するバグの修正 – Meng-Hsiu Chiang [8.0.35]
- #110808 – ライブラリmusl libc使用時にビルドできない問題を修正 – Sam James [8.0.36]
- #112209 – openssl3で非推奨となった関数が警告を発行する事象を解消 – Karry Zhang [8.0.36]
- #112845 – s390xにおいてサイクル・タイマーの値を取得するために、stckf命令を使用するよう改善 – Jonathan Albrecht [8.0.37]
- #113095 – s390xがビッグ・エンディアンICUデータを使うよう改善 – Jonathan Albrecht [8.0.37]
- #113096 – s390xにおいて、過剰最適化を回避するために、FMAテストを<option>-O2</option> でコンパイルするよう改善 – Jonathan Albrecht [8.0.37]
- #114064 – 全プラグインにおいて、\”plugin->deinit\” を呼び出す際の挙動を統一 – Martin Alderete [8.0.37]
MySQL 8.4
下記には、イノベーション・リリースMySQL 8.3に反映されたコントリビューションも含みます。
Clients, Connectors
- #107107 – 関数useServerPrepStmts、cachePrepStmts有効にすると、 予期しないReset stmt(プリペアド・ステートメントのリセット)が発生する事象の修正 – Marcos Albe (Percona) [8.3]
- #110286 – SQLExceptionが宣言された際、Messages.getString() の呼び出しを必要なときまで延期できるように修正 – Janick Reynders [8.4]
- #110784 – ビルド・システムににおいて、カスタムFindSSLモジュールではなくCMakeの FindOpenSSLを使用するよう修正 – Sam James [8.4]
- #111031 – SyntaxRegressionTest.javaを更新 – Abby Palmero [8.4]
- #113599 – ValueEncodersにおいてStringBufferをStringBuilderに置き換え – Henning Pöttker [8.4]
- #113600 – インポートしたプライマリ・キーを取得する際の結合条件を修正 – Henning Pöttker [8.4]
- #113766 – GCC 14におけるコンパイル・エラーを修正 – Christopher Fore [8.4]
- #114272 – MySqlPoolManager.GetPoolAsync におけるデッドロックを解消 – Marek Matys [8.4]
InnoDB
- #108731 – recv_recover_page_funcを使ったリカバリ中にFIL_PAGE_LSNの維持を1回のみに修正 – Alex Xing [8.3]
- #111823 – アップグレードとインスタントを使用したカラムに関する問題を修正 – Richard Dang [8.3]
- #112532 – ロック待機がないにも関わらずInnodb_row_lock_current_waitsの値が0でない事象の解消 – Bin Wang [8.3]
- #110652 – trx->in_innodbに無効な値が入ることによって引き起こされるtrxのハング・アップを解消 – Shaohua Wang [8.4]
- #112137 – innodb_use_native_aioが無効のときの並列読取りを高速化 – Ke Yu [8.4]
- #112424 – PREPAREDトランザクションとACTIVEトランザクションの両方があるとき、バックグラウンド・ロールバック中にサーバがクラッシュする問題を修正 – Genze Wu [8.4]
- #114154 – パーティション化したテーブルを読み込んだ後の並列読取り処理を高速化 – Ke Yu [8.4.1]
- #115041 – Validate_files::check関数にて、不使用のHEAPを削除 – Huaxiong Song [8.4.1]
コンパイル
- #112209 – openssl3で非推奨となった関数が警告を発行する事象の解消 – Karry Zhang [8.3]
- #112845 – s390xにおいてサイクル・タイマーの値を取得するために、stckf命令を使用するように改善 – Jonathan Albrech [8.3]
- #110808 – ライブラリmusl libc使用時にビルドできない問題を修正 – Sam James [8.4]
- #112845 – s390xにおいてサイクル・タイマーの値を取得するために、stckf命令を使用するよう修正 – Jonathan Albrecht [8.4]
- #113095 – s390xがビッグ・エンディアンICUデータを使うよう改善 – Jonathan Albrecht [8.4]
- #113096 – s390xにおいて過剰最適化を回避するために、FMAテストを<option>-O2</option> でコンパイルするよう改善 – Jonathan Albrecht [8.4]
- #114064 – 全プラグインにおいて、\”plugin->deinit\” を呼び出す際の挙動を統一 – Martin Alderete [8.4.1]
オプティマイザ
- #112304 – MEM_ROOT::AllocBlock()が、wanted_lengthより大きいminimum_lengthを満たさない問題を解消 – Kaiwang Chen [8.3]
- #112426 –デバッグ・モードにおけるaccesspathのdbug_dumpを修正 – Tianfeng Li [8.3]
Cluster (NDB)
- #112775 – RonDB 475 によるコントリビューションを反映 – Mikael Ronström [8.3]
- #114147 – [RONDB-620] 外部キー・カラムの順序の不一致を解消 – Axel Svensson [8.4.1]
MySQL Server
- #112846 – BIO_get_mem_data()が使用する引数型を修正 – Samuel Chiang [8.3]
ドキュメント
- #112957 – 圧縮プロトコルに関する情報を更新 – Daniël van Eeden [8.3]
MySQL Operator for K8s
- #113149 – バックアップ・スケジュールのために、タイムゾーンのサポートを追加 – Eldin Didic [8.3]
全文検索
- #114156 – fts_sync_commitがクラッシュ・セーフでない問題を修正 – Yin Pen (Tencent) [8.4]
ドキュメント・ストア, X Plugin, MySQL Shell
- #113500 – 関数についての古いリンクを修正 – Minha Jeong [8.4.1]
- #114127 – get_schemaにおいて非ASCII文字を含むテーブル名、スキーマ名の処理を修正 – Daniel Lenski [8.4.1]
- #114707 – diffがNoneの値を取る際の処理でcollect_diagnostics()がAttributeErrorで失敗する事象を解消 – Ioannis Androulidakis [8.4.1]
MySQL 9.0
Clients, Connectors
- #110512 – 同期ブロックをReentrantLocksに置き換え – Bart De Neuter
- #113443 – データ更新時にSQLキーワードRETURNINGが適切に処理されない事象を解消 – Wang Shiyao
- #114985 – dnspythonに必要なバージョンを更新し、最新の2.6.1を許可 – Michael Perrone
InnoDB
- #110652 – trx->in_innodbに無効な値が入ることによって引き起こされるtrxのハング・アップを解消 – Shaohua Wang
- #112424 – PREPAREDトランザクションとACTIVEトランザクションの両方があるとき、バックグラウンド・ロールバック中にサーバがクラッシュする問題を修正 – Genze Wu
- #113640 – whileループでrsegを判断しないよう修正 – Alex Xing
- #114154 – パーティション化したテーブルを読み込んだ後の並列読取り処理を高速化 – Ke Yu
- #115041 – Validate_files::check関数にて、不使用のHEAPを削除 – Huaxiong Song
Document Store / X Plugin / MySQL Shell
- #113500 – 関数についての古いリンクを修正 – Minha Jeong
- #114127 – get_schemaにおいて非ASCII文字を含むテーブル名とスキーマ名の処理を修正 – Daniel Lenski
- #114707 – diffがNoneの値を取る際の処理でcollect_diagnostics()がAttributeErrorで失敗する事象を解消 – Ioannis Androulidakis
MySQL Server
- #113933 – my_instr_mbにおけるマルチバイト文字の修正 – Dirkjan Bussink
Compiling
- #114064 – 全プラグインにおいて、\”plugin->deinit\” を呼び出す際の挙動を統一 – Martin Alderete
MySQL Cluster (NDB)
- #114147 – [RONDB-620] 外部キー・カラムの順序の不一致を解消 – Axel Svensson
Full Text Search
- #114156 – fts_sync_commitがクラッシュ・セーフでない問題を修正 – Yin Pen (Tencent)
MySQLはOracleが開発しているオープンソース・データベースです。
皆様から頂いたコントリビューションは、修正の複雑さやカテゴリによって製品に反映されるまでの期間が異なる旨ご了承ください。
MySQLのパッチをお持ちでMySQLコントリビューターになって頂ける場合は、MySQLのGitHubリポジトリからPull Requestを送信していただくか、Bugs MySQLにパッチをご提供下さい。Oracleコントリビューター契約にご署名いただく必要があります。
MySQLコントリビューターの皆様に改めて感謝申し上げます。
