TiDB 3.0.14 Release Notes
发版日期:2020 年 5 月 9 日
TiDB 版本:3.0.14
兼容性变化
TiDB
performance_schema
和metrics_schema
由读写改为只读 #15417
重点修复的 Bug
TiDB
TiKV
- 修复重复清锁请求可能破坏事务原子性的问题 #7388
新功能
TiDB
admin show ddl jobs
查询结果中添加库名和表名列 #16428RECOVER TABLE
支持恢复被TRUNCATE
的表 #15458- 新增
SHOW GRANTS
语句权限检查的功能 #16168 - 新增
LOAD DATA
语句权限检查 #16736 - 提升时间日期相关函数作为 partition key 时,分区裁剪的性能 #15618
dispatch error
的日志级别从WARN
调整为ERROR
#16232- 新增支持
require-secure-transport
启动项,以强制要求客户端必须使用 TLS #15415 - 支持内部组件间 http 通信使用 TLS #15419
information_schema.processlist
表中添加显示当前事务start_ts
信息 #16160- 新增自动重加载集群间通讯 TLS 证书信息的功能 #15162
- 通过重构分区裁剪的实现,提升分区表的读操作的性能 #15628
- 新增当使用
floor(unix_timestamp(a))
作为range
分区表的分区表达式时,支持分区裁剪功能 #16521 - 修改
update
语句中包含view
且不对该view
进行 update 时的行为,由不允许执行改为正常执行 #16787 - 禁止创建嵌套
view
#15424 - 禁止 truncate
view
#16420 - 当列处于非 public 状态时,禁止用
update
语句显式的更新此列的值 #15576 - 当 status 端口被占用时,禁止启动 TiDB #15466
current_role
函数的字符集由 binary 调整为 utf8mb4 #16083- 通过在处理完每个 Region 后增加检查
max-execution-time
是否符合条件,提升系统处理max-execution-time
的响应灵敏度 #15615 - 新增语法
ALTER TABLE ... AUTO_ID_CACHE
用于显式设置auto_id
的缓存步长 #16287
TiKV
Tools
TiDB Lightning
- tidb-lightning-ctl 新增
fetch-mode
子命令,输出 TiKV 集群模式 #287
- tidb-lightning-ctl 新增
Bug 修复
TiDB
- 修复
WEEKEND
函数在 SQL mode 为ALLOW_INVALID_DATES
时结果与 MySQL 不兼容的问题 #16170 - 修复当索引列上包含自增主键时,
DROP INDEX
执行失败的问题 #16008 - 修复 Statement Summary 中,
TABLE_NAMES
列值有时会不正确的问题 #15231 - 修复因 Plan Cache 启动后部分表达式计算结果错误的问题 #16184
- 修复函数
not
/istrue
/isfalse
计算结果错误的问题 #15916 - 修复带有冗余索引的表 MergeJoin 时 Panic 的问题 #15919
- 修复谓词只跟外表有联接的情况下错误地化简外链接的问题 #16492
- 修复
SET ROLE
导致的CURRENT_ROLE
函数报错问题 #15569 - 修复
LOAD DATA
在遇到\
时,处理结果与 MySQL 不兼容的问题 #16633 - 修复数据库可见性与 MySQL 不兼容的问题 #14939
- 修复
SET DEFAULT ROLE ALL
语句的权限检查不正确的问题 #15585 - 修复 plan cache 导致的分区裁剪失效问题 #15818
- 修复因事务未对相关表进行加锁,该表存在并发的 DDL 操作且有阻塞时导致事务提交时报
schema change
的问题 #15707 - 修复
IF(not_int, *, *)
行为不正确的问题 #15356 - 修复
CASE WHEN (not_int)
行为不正确的问题 #15359 - 修复在使用非当前 schema 中的视图时报
Unknown column
错误的问题 #15866 - 修复解析时间字符串的结果与 MySQL 不兼容的问题 #16242
- 修复 left join 右孩子节点有
null
列可能会导致 join 上的排序算子 panic 的问题 #15798 - 修复当 TiKV 持续返回
StaleCommand
错误期间,执行 SQL 的流程被阻塞且不报错的问题 #16528 - 修复启用审计插件后端口探活可能会导致 panic 的问题 #16064
- 修复
fast analyze
作用于 index 时导致 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
语句对于错误处理的行为一致 #16137 - 修复当
VALUES
函数参数类型为bit(n)
时行为不正确的问题 #15486 - 修复
view
列名过长时处理逻辑与 MySQL 不一致的问题,当列名过长时,系统自动生成一个短的列名 #14873 - 修复
(not not col)
被错误地优化为col
的问题 #16094 - 修复 index join 构造内表 range 错误的问题 #15753
- 修复
only_full_group_by
对含括号的表达式检查错误的问题 #16012 - 修复
select view_name.col_name from view_name
报错的问题 #15572
- 修复
TiKV