TiDB 2.1.19 Release Notes
发版日期:2019 年 12 月 27 日
TiDB 版本:2.1.19
TiDB Ansible 版本:2.1.19
TiDB
- SQL 优化器
- 优化
select max(_tidb_rowid) from t的场景,避免全表扫 #13294 - 修复当查询语句中赋予用户变量错误的值且将谓词下推后导致错误的输出结果 #13230
- 修复更新统计信息时可能存在数据竞争,导致统计信息不准确的问题 #13690
- 修复
UPDATE语句中同时包含子查询和 stored generated column 时结果错误的问题;修复UPDATE语句中包含不同数据库的两个表名相同时,UPDATE执行报错的问题 #13357 - 修复
PhysicalUnionScan算子没有正确设置统计信息,导致查询计划可能选错的问题 #14134 - 移除
minAutoAnalyzeRatio约束使自动ANALYZE更及时 #14013 - 当
WHERE子句上有UNIQUE KEY的等值条件时,估算行数应该不大于1#13385
- 优化
- SQL 执行引擎
- 修复
ConvertJSONToInt中使用int64作为uint64的中间解析结果,导致精度溢出的问题 #13036 - 修复查询中包含
SLEEP函数时(例如select 1 from (select sleep(1)) t;)),由于列裁剪导致查询中的sleep(1)失效的问题 #13039 - 通过实现在
INSERT ON DUPLICATE UPDATE语句中复用Chunk来降低内存开销 #12999 - 给
slow_query表添加事务相关的信息段 #13129,如下:Prewrite_timeCommit_timeGet_commit_ts_timeCommit_backoff_timeBackoff_typesResolve_lock_timeLocal_latch_wait_timeWrite_keyWrite_sizePrewrite_regionTxn_retry
- 修复
UPDATE语句中包含子查询时转换子查询出现的错误和当UPDATE的WHERE条件中包含子查询时更新失败的问题 #13120 - 支持在分区表上执行
ADMIN CHECK TABLE#13143 - 修复
ON UPDATE CURRENT_TIMESTAMP作为列的属性且指定浮点精度时,SHOW CREATE TABLE等语句显示精度不完整的问题 #12462 - 修复在
DROP/MODIFY/CHANGE COLUMN时没有检查外键导致执行SELECT * FROM information_schema.KEY_COLUMN_USAGE语句时发生 panic 的问题 #14162 - 修复 TiDB 开启
Streaming后返回数据可能重复的问题 #13255 - 修复夏令时导致的“无效时间格式”问题 #13624
- 修复整型数据被转换为无符号
Real/Decimal类型时,精度可能丢失的问题 #13756 - 修复
Quote函数处理null值时返回值类型出错的问题 #13681 - 修复从字符串解析日期时,由于使用
golang time.Local本地时区导致解析结果的时区不正确的问题 #13792 - 修复
builtinIntervalRealSig的实现中,由于binSearch方法不会返回 error,导致最终结果可能不正确的问题 #13768 - 修复
INSERT语句在进行字符串类型到浮点类型转换时,可能会报错的问题 #14009 - 修复
sum(distinct)函数输出结果不正确的问题 #13041 - 修复由于对
jsonUnquoteFunction函数的返回类型长度赋值不正确的值,导致在union中同位置数据上进行cast转换时会截断数据的问题 #13645 - 修复由于权限检查过于严格导致设置密码失败的问题 #13805
- 修复
- Server
- DDL
TiKV
- Raftstore
- 修复 Region merge 和应用 Compact log 过程中系统若有重启,当重启时由于未正确设置
is_merging的值导致系统 panic 的问题 #5884
- 修复 Region merge 和应用 Compact log 过程中系统若有重启,当重启时由于未正确设置
- Importer
- 取消 gRPC 的消息长度限制 #5809
PD
Tools
- TiDB Binlog