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