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