title | aliases | summary | ||
---|---|---|---|---|
TiDB 3.0.5 Release Notes |
|
TiDB 3.0.5 发布,包含 SQL 优化器和执行引擎的多项修复和改进,支持事务 TTL 修改接口函数,以及对 Region Cache TTL 的配置修改。TiKV 新特性包括悲观事务 Cleanup 接口支持和 Raftstore 性能优化。PD 提高了 Region 占用空间的精度和 label 监控可读性。TiDB Binlog 和 TiDB Lightning 也有多项修复和功能增强。TiDB Ansible 更新了监控表达式和配置文件内容。 |
发版日期:2019 年 10 月 25 日
TiDB 版本:3.0.5
TiDB Ansible 版本:3.0.5
- SQL 优化器
- 支持对 Window Functions 进行边界检查 #12404
- 修复 partition 表上的
IndexJoin
返回错误结果的问题 #12712 - 修复外连接 Apply 算子上层的
ifnull
函数返回错误结果的问题 #12694 - 修复当
UPDATE
的where
条件中包含子查询时更新失败的问题 #12597 - 修复当查询条件中包含
cast
函数时 outer join 被错误转化为 inner join 的问题 #12790 - 修复
AntiSemiJoin
的 join 条件中错误的表达式传递 #12799 - 修复初始化统计信息时由于浅拷贝造成的统计信息出错问题 #12817
- 修复 TiDB 中
str_to_date
函数在日期字符串和格式化字符串不匹配的情况下,返回结果与 MySQL 不一致的问题 #12725
- SQL 执行引擎
- 修复在
from_unixtime
函数处理 null 时发生 panic 的问题 #12551 - 修复 Admin Cancel DDL jobs 时报
invalid list index
错的问题 #12671 - 修复使用 Window Functions 时发生数组越界的问题 #12660
- 改进
AutoIncrement
列隐式分配时的行为,与 MySQL 自增锁的默认模式 ("consecutive" lock mode) 保持一致:对于单行 Insert 语句的多个自增AutoIncrement
ID 的隐式分配,TiDB 保证分配值的连续性。该改进保证 JDBCgetGeneratedKeys()
方法在任意场景下都能得到正确的结果。#12602 - 修复当
HashAgg
作为 Apply 子节点时查询 hang 住的问题 #12766 - 修复逻辑表达式
AND
或OR
在涉及类型转换时返回错误结果的问题 #12811
- 修复在
- Server
- 实现修改事务 TTL 的接口函数,以助后续支持大事务 #12397
- 支持将事务的 TTL 按需延长(最长可到 10min),用于支持悲观事务 #12579
- 将 TiDB 缓存 schema 变更及相关表信息的次数从 100 调整为 1024,且支持通过
tidb_max_delta_schema_count
系统变量修改 #12502 - 更新了
kvrpc.Cleanup
协议的行为,不再清理未超时事务的锁 #12417 - 支持将 Partition 表信息记录到
information_schema.tables
表 #12631 - 支持通过
region-cache-ttl
配置修改 Region Cache 的 TTL #12683 - 支持在慢日志中打印执行计划压缩编码后的信息,此功能默认开启,可以通过
slow-log-plan
配置或者tidb_record_plan_in_slow_log
变量进行开关控制。另外支持tidb_decode_plan
函数将慢日志中的执行计划列编码信息解析成执行计划信息。#12808 - 在
information_schema.processlist
表中支持显示内存使用信息 #12801 - 修复 TiKV Client 判断连接空闲时可能出错并出现非预期的告警的问题 #12846
- 修复
tikvSnapshot
没有正确对BatchGet()
的 KV 结果进行缓存,导致INSERT IGNORE
语句性能有所下降的问题 #12872 - 修复了因建立到部分 KV 服务的连接较慢最终导致 TiDB 响应速度相对变慢的情况 #12814
- DDL
- 修复
Create Table
操作对 Set 列不能正确设置 Int 类型默认值的问题 #12267 - 支持
Create Table
语句中建唯一索引时带多个 Unique #12463 - 修复使用
Alter Table
添加 Bit 类型列时,对存在的行填充此列的默认值可能出错的问题 #12489 - 修复 Range 分区表以 Date 或 Datetime 类型列作为分区键时,添加分区失败的问题 #12815
- 对于 Date 或 Datetime 类型列作为分区键的 Range 分区表,在建表或者添加分区时,支持检查分区类型与分区键类型的统一性 #12792
- 在创建 Range 分区表时,添加对 Unique Key 列集合需大于等于分区列集合的检查 #12718
- 修复
- Monitor
- Storage
- Raftstore
- Engine
- 提高 Region 占用空间的精度 #1782
- 修复
--help
命令输出内容 #1763 - 修复 TLS 开启后 http 请求重定向失败的问题 #1777
- 修复 pd-ctl 使用
store shows limit
命令 panic 的问题 #1808 - 提高 label 监控可读性以及当 leader 发生切换后重置原 leader 的监控数据,防止误报 #1815
- TiDB Binlog
- TiDB Lightning
- 整合 Loader 全量逻辑导入功能,支持配置 backend 模式 #221