TiDB 2.1.16 Release Notes
发版日期:2019 年 8 月 15 日
TiDB 版本:2.1.16
TiDB Ansible 版本:2.1.16
TiDB
- SQL 优化器
- 修复时间列上的等值条件 Row Count 估算不准确的问题 #11526
- 修复
TIDB_INLJ Hint 不生效或者对非指定的表生效的问题 #11361
- 将查询中的 NOT EXISTS 由 OUTER JOIN 实现方式改为 ANTI JOIN ,便于找到更优执行计划 #11291
- 支持在
SHOW 语句中使用子查询,现在可以支持诸如 SHOW COLUMNS FROM tbl WHERE FIELDS IN (SELECT 'a') 的写法 #11461
- 修复常量折叠优化导致
SELECT … CASE WHEN … ELSE NULL ... 查询结果不正确的问题 #11441
- SQL 执行引擎
- 修复函数 DATE_ADD 在 INTERVAL 为负的情况下结果错误的问题 #11616
- 修复
DATE_ADD 函数接受 FLOAT、DOUBLE 和 DECIMAL 类型的参数时,没有正确地进行类型转换而导致结果可能不正确的问题 #11628
- 修复 CAST(JSON AS SIGNED) 出现 OVERFLOW 时错误信息不准确的问题 #11562
- 修复在关闭 Executor 的过程中,子节点关闭返回错误时其他子节点未关闭的问题 #11598
- 支持 SPLIT TABLE 语句返回切分成功的 REGION 数量,并且当部分 REGION SCATTER 在超时未完成调度时,不再返回错误,而是返回完成调度的比例 #11487
- 修复
REGEXP BINARY 函数对大小写敏感,与 MySQL 不兼容的问题 #11505
- 修复 DATE_ADD / DATE_SUB 结果中 YEAR 小于 0 或大于 65535 时溢出导致结果没有正确返回 NULL 值的问题 #11477
- 慢查询表中添加用于表示是否执行成功的
Succ 字段 #11412
- 修复一条 SQL 语句在涉及当前时间计算时(例如
CURRENT_TIMESTAMP 或者 NOW),多次取当前时间值,结果与 MySQL 不兼容的问题:现在同一条SQL语句中取当前时间时,均使用相同值 #11392
- 修复 AUTO INCREMENT 列未处理 FLOAT / DOUBLE 的问题 #11389
- 修复
CONVERT_TZ 函数在参数不合法时,没有正确返回 NULL 的问题 #11357
- 修复 PARTITION BY LIST 报错的问题(仅添加语法支持,TiDB 执行时候会作为普通表创建并提供提示信息) #11236
- 修复
Mod(%)、Multiple(*) 和 Minus(-) 返回结果为 0 时,在小数位数较多(例如 select 0.000 % 0.11234500000000000000)的情况下与 MySQL 位数不一致的问题 #11353
- Server
- 修复插件在 OnInit 回调中获取 Domain 为 NULL 的问题 #11426
- 修复当 Schema 删除后,依然可以通过 HTTP 接口获取该 Schema 中表信息的问题 #11586
- DDL
- 禁止 DROP 自增列索引,修复因为 DROP 自增列上的索引导致自增列结果可能出错的问题 #11402
- 修复列和表使用不同的 CHARSET 和 COLLATE 创建表和修改表时,列的字符集不正确的问题 #11423
- 修复并行执行 “alter table ... set default...” 和其他修改此列信息的 DDL,可能导致此列的结构出错的问题 #11374
- 修复当 Generated column A 依赖 Generated column B 时,使用 A 创建索引,数据回填失败的问题 #11538
- 提升 ADMIN CHECK TABLE 的速度 #11538
TiKV
- 访问正在关闭的 TiKV Region 时返回 Close 错误 #4820
- 支持逆向
raw_scan 和逆向 raw_batch_scan 接口 #5148
- TiDB Binlog
- Drainer 增加
ignore-txn-commit-ts 配置项,用于跳过执行某些事务语句 #697
- 增加启动时配置项检查功能,遇到不合法配置项会退出运行并给出错误信息 #708
- Drainer 增加
node-id 配置,用于指定固定逻辑 Drainer #706
- TiDB Lightning
- 修复 2 个 checksum 同时运行的情况下,
tikv_gc_life_time 没有正常修改回原本值的问题 #224
TiDB Ansible
- Spark 新增 log4j 日志配置 #842
- 更新 tispark jar 包为 v2.1.2 版本 #863
- 修复了 TiDB Binlog 使用 Kafka 或者 ZooKeeper 时导致生成的 Prometheus 配置文件格式错误的问题 #845
- 修复执行
rolling_update.yml 操作时,切换 PD Leader 失效的 Bug #888
- 优化滚动升级 PD 节点的逻辑,先升级 Follower 再升级 Leader,提高稳定性 #895