TiDB 3.0.14 リリースノート
発売日:2020年5月9日
TiDB バージョン: 3.0.14
互換性の変更
TiDB
performance_schemaとmetrics_schemaのユーザー権限を読み取り/書き込みから読み取り専用に調整する#15417
重要なバグ修正
TiDB
TiKV
- ロックのクリーンアップでリクエストを繰り返すと、トランザクションの原子性が失われる可能性があるという問題を修正します#7388
新機能
TiDB
admin show ddl jobsステートメント#16428のクエリ結果にスキーマ名列とテーブル名列を追加します。RECOVER TABLE構文を拡張して、切り捨てられたテーブルの回復をサポートする#15458SHOW GRANTSステートメント#16168の権限チェックをサポートLOAD DATAステートメント#16736の権限チェックをサポート- 時刻と日付に関連する関数がパーティション キーとして使用される場合のパーティション プルーニングのパフォーマンスを向上させます#15618
dispatch errorのログレベルをWARNからERROR#16232に調整します- クライアントに TLS #15415の使用を強制する
require-secure-transport起動オプションをサポート - TLS が構成されている場合、TiDB コンポーネント間の HTTP 通信をサポートします#15419
start_ts現在のトランザクションの情報をinformation_schema.processlistテーブルに追加します#16160- クラスタ間の通信に使用される TLS 証明書情報の自動リロードをサポート#15162
- パーティションプルーニングを再構築することにより、パーティション化されたテーブルの読み取りパフォーマンスを向上させます#15628
rangeパーティション テーブル#16521のパーティション式としてfloor(unix_timestamp(a))が使用される場合、パーティション プルーニング機能をサポートします。viewを含み、view#16787を更新しないupdateステートメントの実行を許可する- ネストした
views #15424の作成を禁止する - 切り捨て禁止
view#16420 - この列が
public状態でない場合、updateステートメントを使用して列の値を明示的に更新することを禁止する#15576 statusポート占有時の TiDB 起動禁止#15466current_role関数の文字セットをbinaryからutf8mb4に変更します#16083- 新しいリージョンのデータが読み込まれるときに割り込み信号をチェックすることで、
max-execution-time使いやすさが向上します#15615 auto_id#16287のキャッシュ ステップを明示的に設定するためのALTER TABLE ... AUTO_ID_CACHE構文を追加します。
TiKV
ツール
TiDB Lightning
- tidb-lightning-ctl #287の
fetch-modeサブコマンドを使用した TiKV クラスター モードの印刷をサポート
- tidb-lightning-ctl #287の
バグの修正
TiDB
- SQL モードが
ALLOW_INVALID_DATES#16170の場合、WEEKEND関数が MySQL と互換性がない問題を修正 - インデックス列に自動インクリメント主キー#16008が含まれている場合、
DROP INDEXステートメントの実行に失敗する問題を修正します。 - ステートメントの概要#15231の
TABLE_NAMES列の値が正しくない問題を修正します。 - プラン キャッシュが有効になっている場合、一部の式の結果が正しくない問題を修正します#16184
not/istrue/isfalse関数の結果が正しくない問題を修正#15916MergeJoin冗長インデックスを持つテーブルでの操作によって引き起こされるpanicを修正します#15919- 述語が外部テーブルのみを参照している場合に、リンクを誤って単純化することによって引き起こされる問題を修正します#16492
CURRENT_ROLE関数がSET ROLEステートメントに起因するエラーを報告する問題を修正します#15569- このステートメントが
\#16633に遭遇すると、LOAD DATAステートメントの結果が MySQL と互換性がないという問題を修正します。 - データベースの可視性が MySQL #14939と互換性がないという問題を修正
SET DEFAULT ROLE ALLステートメント#15585の権限チェックが正しくない問題を修正- プラン キャッシュが原因でパーティション プルーニングが失敗する問題を修正します#15818
- トランザクションが関連するテーブルをロックしないため、テーブルで同時 DDL 操作が実行され、ブロックが存在する場合、トランザクションのコミット中に
schema changeが報告される問題を修正します#15707 IF(not_int, *, *)#15356の誤った動作を修正CASE WHEN (not_int)#15359の誤った動作を修正- 現在のスキーマ#15866にない
viewを使用するとUnknown columnエラー メッセージが返される問題を修正します。 - 時刻文字列の解析結果が MySQL #16242と互換性がない問題を修正
- 右側の子ノード#16528に
null列が存在する場合にleft join照合順序演算子がパニックになる可能panicがある問題を修正しました - TiKV が
StaleCommandエラー メッセージ#16528を返し続けると、SQL 実行がブロックされているにもかかわらず、エラー メッセージが返されない問題を修正します。 - 監査プラグインが有効になっているときにポートプローブによって引き起こされる可能性のあるpanicを修正します#15967
fast analyzeインデックスのみで動作するときに発生するpanicを修正します#15967- 場合によっては
SELECT * FROM INFORMATION_SCHEMA.PROCESSLISTステートメントの実行で発生する可能panicを修正します#16309 - メモリを割り当てる前にパーティションの数を確認せずにハッシュ パーティション テーブルを作成すると、多数のパーティション (たとえば
9999999999999) を指定することによって発生する TiDB OOM の問題を修正します#16218 information_schema.tidb_hot_table#16726で分割されたテーブルの誤った情報の問題を修正します。- パーティション選択アルゴリズムがハッシュパーティションテーブルで有効にならない問題を修正します#16070
- MVCCシリーズのHTTP APIが分割テーブルに対応していない問題を修正#16191
UNIONステートメントのエラー処理とSELECTステートメントのエラー処理の一貫性を保つ#16137VALUES関数のパラメーターの型がbit(n)#15486の場合に正しく動作しない問題を修正viewカラム名が長すぎると、TiDBの処理ロジックがMySQLと矛盾する問題を修正。この場合、システムは短い列名を自動的に生成します。 #14873(not not col)がcol#16094として誤って最適化される問題を修正IndexLookupJoinのプランで構築された内部テーブルのrangeが正しくない問題を修正#15753only_full_group_byが括弧付きの式を正しくチェックできない問題を修正#16012select view_name.col_name from view_name文実行時にエラーが返る問題を修正#15572
- SQL モードが
TiKV
- 隔離復旧後、ノードを正常に削除できない場合がある問題を修正#7703
- リージョン Merge 操作によるネットワーク分離中のデータ損失の問題を修正します#7679
- 学習者を正しく削除できない場合がある問題を修正#7598
- 生のキーと値のペアのスキャン結果が順不同である可能性がある問題を修正します#7597
- Raftメッセージのバッチが大きすぎる場合の再接続の問題を修正します#7542
- 空のリクエストによって引き起こされる gRPC スレッドのデッドロックの問題を修正します#7538
- マージ処理中に学習器を再起動する処理ロジックが正しくない問題を修正#7457
- ロックのクリーンアップでリクエストを繰り返すと、トランザクションの原子性が失われる可能性があるという問題を修正します#7388