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
ステートメントの実行を許可する- ネストした
view
s #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