TiDB 2.1.16 Release Notes
发版日期:2019 年 8 月 15 日
TiDB 版本:2.1.16
TiDB Ansible 版本:2.1.16
TiDB
- SQL 优化器
- 修复时间列上的等值条件 Row Count 估算不准确的问题 #11526
- 修复
TIDB_INLJHint 不生效或者对非指定的表生效的问题 #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
Tools
- TiDB Binlog
- Drainer 增加
ignore-txn-commit-ts配置项,用于跳过执行某些事务语句 #697 - 增加启动时配置项检查功能,遇到不合法配置项会退出运行并给出错误信息 #708
- Drainer 增加
node-id配置,用于指定固定逻辑 Drainer #706 - TiDB Lightning
- 修复 2 个 checksum 同时运行的情况下,
tikv_gc_life_time没有正常修改回原本值的问题 #224
