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を修正しistrue
isfalse
- 冗長インデックスを持つテーブルでの
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として誤って最適化される問題を修正しcol
IndexLookupJoin
のプランによって構築された内部テーブルの誤った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