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のクエリ結果にスキーマ名列とテーブル名列を追加します。- 切り捨てられたテーブル#15458回復をサポートするために
RECOVER TABLE構文を拡張します 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を含むupdate文の実行を許可し、view#16787を更新しない- ネストされた
view#15424作成を禁止する - 切り捨てを禁止する
view#16420 - この列が
public状態#15576でない場合に、update文を使用して列の値を明示的に更新することを禁止します。 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関数の結果が正しくない問題を修正しました#15916- 冗長インデックスを持つテーブルに対する
MergeJoin操作によって引き起こされるpanicを修正#15919 - 述語が外部テーブル#16492のみを参照する場合にリンクを誤って単純化することによって発生する問題を修正しました。
CURRENT_ROLE関数がSET ROLE文#15569によって発生したエラーを報告する問題を修正しました- この文が
\#16633に遭遇すると、LOAD DATA文の結果がMySQLと互換性がない問題を修正しました。 - データベースの可視性がMySQL #14939と互換性がない問題を修正
SET DEFAULT ROLE ALL文#15585権限チェックが正しく行われない問題を修正- プランキャッシュ#15818によるパーティションプルーニングの失敗の問題を修正
- トランザクションが関連テーブル#15707ロックしないため、テーブルに対して同時 DDL 操作が実行され、ブロッキングが存在する場合に、トランザクションのコミット中に
schema change報告される問題を修正しました。 IF(not_int, *, *)#15356の誤った動作を修正CASE WHEN (not_int)#15359の誤った動作を修正- 現在のスキーマ#15866に含まれない
view使用するとUnknown columnエラー メッセージが返される問題を修正しました - 時間文字列の解析結果がMySQL #16242と互換性がない問題を修正
left joinの右子ノード#16528にnull列目が存在する場合に照合順序子がpanicを修正- TiKVが
StaleCommandエラーメッセージを返し続けているときにSQL実行がブロックされているにもかかわらずエラーメッセージが返されない問題を修正しました#16528 - 監査プラグインが有効になっているときにポートプローブによって発生する可能性のある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
- 空のリクエスト#7538によって引き起こされるgRPCスレッドデッドロックの問題を修正
- マージ処理中に学習者を再起動する処理ロジックが正しくない問題を修正#7457
- ロックのクリーンアップの繰り返しリクエストによりトランザクションの原子性が破壊される可能性がある問題を修正#7388