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構文を拡張します#15458 SHOW 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 操作が実行され、ブロックが存在する場合、トランザクションは関連テーブル#15707をロックしないため、トランザクションのコミット中に
schema changeが報告される問題を修正します。 IF(not_int, *, *)#15356の誤った動作を修正CASE WHEN (not_int)#15359の誤った動作を修正- 現在のスキーマにない
viewを使用するとUnknown columnエラー メッセージが返される問題を修正します#15866 - 時刻文字列の解析結果がMySQL #16242と互換性がない問題を修正
- 右側の子ノード#16528に
null列が存在する場合にleft joinで発生する可能性のある照合順序子のpanicを修正しました。 - TiKV が
StaleCommandエラー メッセージ#16528を返し続けると、SQL の実行がブロックされてもエラー メッセージが返されない問題を修正します。 - 監査プラグインが有効になっているときにポートプローブによって発生する可能性のあるpanicを修正します#15967
fast analyzeインデックス#15967に対してのみ機能するときに発生するpanicを修正しました。- 場合によっては
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プラン#15753によって構築された内部テーブルのrangeが正しくない問題を修正only_full_group_byで括弧付きの式が正しくチェックされない問題を修正#16012select view_name.col_name from view_nameステートメント実行時にエラーが返される問題を修正#15572
- SQLモードが
TiKV
- 隔離回復後にノードが正しく削除できない場合がある問題を修正#7703
- リージョンマージ操作によって引き起こされるネットワーク分離中のデータ損失の問題を修正します#7679
- 学習者が正しく削除できない場合がある問題を修正#7598
- 生のキーと値のペアのスキャン結果が順序どおりにならない場合がある問題を修正します#7597
- Raftメッセージのバッチが大きすぎる場合の再接続の問題を修正#7542
- 空のリクエストによって引き起こされる gRPC スレッドのデッドロックの問題を修正します#7538
- マージ処理中に学習器を再起動する処理ロジックが正しくない問題を修正#7457
- ロックのクリーンアップでリクエストを繰り返すとトランザクションのアトミック性が破壊される可能性がある問題を修正します#7388