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