title: TiDB 2.1.19 Release Notes
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_time
Commit_time
Get_commit_ts_time
Commit_backoff_time
Backoff_types
Resolve_lock_time
Local_latch_wait_time
Write_key
Write_size
Prewrite_region
Txn_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