本文汇总了PolarDB-X 1.0实例V5.3.x系列的版本说明。

v5.3.12-15708775 日期 2019.10.12

类别 说明
新增特性 新增Chunk-Based执行器,查询优化复杂查询。
新增SQL执行计划管理(Plan Management)功能。
新增新的DDL任务引擎,支持DDL任务的查看、恢复和回滚等功能。
新增通过FORCE INDEX HINT方式指定查询使用某个索引的功能。
新增非SCALAR子查询中ROW函数支持。
新增DATE_FORMAT、INTERVAL等时间函数转义字符完整支持。
优化性能 主实例默认开启基于代价的优化(CBO),自动选择JOIN顺序和算子实现。
优化更多类型的子查询(含SemiJoin)及下推。
合并事务指令与应用业务SQL执行,减少后端数据库网络通讯,提升事务性能。
优化内部线程池的参数配置。
优化DRUID连接池在后端RDS异常情况下快速恢复。
修复问题 修复SQL解析的算术优先级问题。
修复HASH JOIN部分场景下的连接泄漏问题。
修复一元运算符物理SQL报错。
修复LOCK TABLE单库无法正确执行问题。
修复PolarDB-X对SAVE POINT的支持。
修复MD5函数和HEX函数与MySQL不兼容的问题。
修复SELECT USER(), DATABASE() LIMIT 1报错的问题。
修复MERGE_UNION=FALSE并发行为不符合预期的问题。
修复多个AND的日期范围查询,查询路由结果不正确的问题。
修复RENAME TABLE时忽略目标库名的问题。
修复管理员账户无法查看所有用户权限的问题。
修复主实例并行度代价会低概率出现计算不准的问题。
修复清理脚本导致日志滚动异常。
修复UPDATE、DELETE单表语句中存在表名引用时,下推物理SQL报错的问题。
修复不含ORDER BY的LIMIT语句因为内存限制的报错问题。
修复多个AND条件查询结果不一致的问题。
修复UPDATE包含子查询时的报错信息。
修复DISTINCT和ORDER BY中同时出现函数的解析问题。

v5.3.11-15663020 日期 2019.08.20

类别 说明
修复问题 修复物理RT监控不准的问题。
调整工作线程数配置。

V5.3.11-15622313 日期 2019.07.04

类别 说明
优化性能 优化分析型只读实例基于CBO进行JOIN重排及物理执行策略。
优化分析型只读实例全表扫描速度。
优化INSERT、REPLACE、UPDATE和DELETE语句的性能。
修复问题 修复并发KILL命令导致用户无法链接PolarDB-X的问题。
修复原表自增主键存在0值,同步到PolarDB-X报错问题。
修复多表UPDATE报错。
修复用户存在视图时,SHOW TABLES报错问题。
修复表名过长管控无法显示以及无法删除的问题。
修复多库权限的账号无法同时使用Navicat的问题。
修复COMPRESS协议下用户查询的结果集过大时卡死的问题。
修复AVG函数参数为TIMESTAMP类型时的查询报错。
修复ROUND函数返回类型问题。
修复SHOW NODE读写次数超过整型上限问题。
修复部分DDL以及语句解析报错问题。
修复建带库名的广播表报错的问题。
修复特殊场景下物理SQL优化导致分片计算异常的问题。
修复ADMIN账户SHOW GRANTS无法看到全部用户权限的问题。
修复多列IN只有一列有值时的报错问题。
修复单表LOCK TABLES导致的系统异常。
修复INSERT中拆分键有函数,EXPLAIN报错问题。

V5.3.10-15585948 日期 2019.05.23

类别 说明
新增特性 新增对PARALLEL QUERY的支持。
新增SCALAR关联子查询支持UNSIGNED类型。
支持ALTER SEQUENCE支持跨SCHEMA。
支持SEQUENCE的NEXTVAL时的带有WHERE查询(如SELECT test.NEXTVAL FROM DUAL WHERE COUNT=10
优化性能 优化带拆分键的查询性能。
优化连接池特性,增加KEEP ALIVE支持。
修复问题 修复DESC带有SCHEMA名称(如DESC DB.ORDER)时,执行报错的问题。
修复只读实例执行SHOW TABLE STATUS报错问题。
修复XA RECOVER只读实例导致部分事务回滚的问题。
修复时间类型拆分函数枚举日期缺失的问题。
修复DISTINCT与ORDER BY子句混用执行报错问题。
修复复杂查询下的COLUMN ‘S’ NOT FOUND问题。
修复复杂查询下的COLUMN ‘ID’ IS AMBIGUOUS问题。
修复CURRENT_DATE为列名时建索引报错问题。
补全相关SHOW HELP帮助说明。

V5.3.9-15557587 日期 2019.04.20

类别 说明
新增特性 支持并行DDL。
支持重构的系统变量(如SELECT)。
支持物化子查询结果。
SHOW STATUS支持事务的统计。
支持SELECT后的AGGREGATE和表达式的嵌套使用。
支持展示EXPLAIN MySQL物理执行计划。
优化性能 优化IN、NOT_IN子查询在某些场景下的性能。
修复问题 修复ALTER SEQUENCE时默认行为为GROUP,而非AUTO_INCREMENT。
修复Convertor error by Unsupported问题。
修复syntax error ‘CHARSET=utf8 BLOCK_FORMAT=ENCRYPTED COMMENT问题。
修复单表场景下ALTER TABLE ADD自增主键错误创建了SEQUENCE的问题。
修复一些开启事物场景下导致报错的问题,提升事物兼容性。
修复数据库插入YEAR类型非法字段成功导致的SELECT语句出错问题。
修复CREATE TABLE … PARTITION BY RANGE COLUMNS报错问题。
修复索引表规则存在同名脏数据时,创建包含二级索引的表异常的问题。
修复流量型只读实例上默认创建系统表导致报错的问题。
修复DECIMAL函数的一些问题。

V5.3.8-15517870 日期 2019.03.05

类别 说明
新增特性 支持映射规则。
支持SHOW FULL PROCESSLIST语句携带WHERE条件。
支持如下跨Schema(数据库)操作:
  • 支持跨Schema查询。
  • 支持跨chema使用BUSHY JOIN。
  • 支持跨Schema的DML语法。
  • 支持跨Schema的XA事务。
  • 支持跨Schema的DAL语法。
  • 支持跨Schema使用SEQUENCE。
  • 支持USE DB_NAME进行跨Schema访问。
增加对PREPARE协议支持。
修复问题 优化SHOW TABLES指令,解决以往SHOW TABLES执行缓慢的问题。
修复以时间拆分列的取值为NOW()函数时可能的跨分片错误问题。
修复CONVERT(column USING gbk)报错“Unknown datatype name ‘gbk’”的问题。
修复INTERVAL表达式不支持字段的问题(如DATE_FORMAT(DATE_ADD(MAX(table.column),interval table.column DAY),’%Y-%m-%d’))。
修复INSERT里面有CASE WHEN报NPE问题。
修复Hint:Allow full table scan = false不生效问题。

V5.3.7-15460044 日期 2018.12.28

类别 说明
新增特性 支持JOIN下推顺序调整,优化JOIN性能。
支持根据表行数调整内存JOIN顺序。
支持逻辑库锁功能。
支持显示PREPARE和EXECUTE语法。
增加HINT支持表间并行执行模式。
性能优化 优化由于白名单或密码问题导致登录失败的提示信息。
优化多表JOIN,物理SQL生成多余子查询导致性能问题。
优化执行器获取连接时,可能多次执行SET NAMES utf8mb4的问题。
优化SHOW VARIABLES性能。
修复问题 修复SHOW FULL PROCESSLIST时SQL显示不全问题。
修复SQL函数(如~1 )报错问题。
修复导入数据库报错,以及导入后建表报错问题。
修复多表JOIN(如(index (16) must be less than size (16)))报错问题。
修复SCAN HINT对LIMIT处理不符合预期的问题。

V5.3.6-15447056 日期 2018.12.13

类别 说明
修复问题 修复用户自建账号查询information_schema报错,影响DMS及部分GUI工具使用的问题。
修复Filter-Join结构执行计划下推不够精确,导致部分查询性能下降的问题。
修复特殊场景下生成的物理SQL中包含冗余子查询,导致未能使用MySQL索引的问题。
修复UNION优化导致部分场景下生成异常物理SQL的问题。
修复相关联子查询生成物理SQL时的一个别名问题。
修复特殊场景下LIMIT穿透JOIN 下推后查询结果异常的问题。
修复SHOW CREATE TABLE未显示分表算法的问题。
修复建表时无法在UNI_HASH中指定字符串列的问题。

V5.3.6-15439241 日期 2018.11.29

类别 说明
新增特性 支持为单个账户授予多个数据库权限,使用USE DATABASE切换数据库并执行SQL。
支持SELECT语句中,全部的列子查询和WHERE中的子查询。
支持Apply子查询算子,允许嵌套执行无法转为JOIN的子查询。
支持HashBKAJoin算子。
支持下推执行多表UPDATE、DELETE 语句。
支持下推执行地理信息函数。
支持异构索引表加列顺序检测,避免DDL导致索引表同步异常。
支持IPv6。
优化性能 优化禁止使用BINARY类型作为拆分键,避免数据插入时自动补0导致查询异常。
优化全链路压测PARSER性能。
修复问题 修复NODE HINT + LIMIT下发错误SQL,导致查询异常的问题。
修复部分条件未能下推,导致LEFT JOIN性能低问题。
修复部分场景下BKA JOIN + LIMIT执行异常的问题。
修复Simple Sequence设置最大值时,越界的问题。
修复CREATE TABLE对已存在表且带有IF NOT EXISTS关键字时报错问题。

V5.3.5-15423348 日期 2018.11.20

类别 说明
修复问题 修复并发策略选择导致部分场景下排序结果异常的问题。
修复NODE HINT与LIMIT兼容性问题导致部分场景下结果异常的问题。
修复事务策略清理机制变化导致部分场景下DTS任务异常的问题。
修复BATCH INSERT在部部分场景下执行异常的问题。
修复BATCH INSERT特殊转义字符处理报错的问题。

V5.3.5-15409153 日期 2018.10.30

类别 说明
新增特性 支持完整的GROUP_CONCAT语法。
支持STR_HASH哈希函数,兼容PolarDB-X实例5.2版本所有HASH函数。
支持UPDATE语句中使用别名。
支持ON DUPLICATE KEY UPDATE语法中指定表名。
支持下推执行JSON相关函数。
支持CONVERT(X, SIGNED) 语法。
支持JOIN USING语法。
优化 大幅降低BATCH INSERT内存占用,增强数据导入稳定性。
优化INSERT并发策略,解决后端连接占用过高的问题。
修复问题 修复物理SQL中包含子查询时,JOIN重复列名报错问题。
修复OUTLINE相关细节问题。
修复TO_DAYS函数时间遇到闰年返回值与MySQL不一致的问题。
修复建表主键、拆分键列名为关键字导致报错的问题。
修复INSERT SELECT特殊语法报错的问题。
修复ORDER BY、GROUP BY中同时包含函数导致执行计划异常的问题。
修复BIGINT 列在结果集中表示为DECIMAL的问题。
修复SHOW FULL TABLES FROM LIKE报错的问题。
修复SHOW DATABASE语句中包含换行符导致报错的问题。

V5.3.4-15378085 日期 2018.09.20

类别 说明
新增特性 支持同步更新广播表,基于XA事务多写,无需异步数据同步。
支持全局事务策略等多种动态参数,可通过控制台设置。
使用XA作为默认事务策略。
支持SET @@SESSION.BINLOG_ROWS_QUERY_LOG_EVENTS
修复问题 修复BIT类型问题。
修复BKAJoin+UNION优化导致JOIN查询报错的问题。
修复SCALAR子查询的类型匹配问题。
修复SEMI、ANTI执行器中CURRENT()方法未实现的问题。
修复不支持CURRENT_TIMESTAMP特殊写法的问题。

V5.3.3-1670435 日期 2018.08.15

类别 说明
新增特性 支持PolarDB-X的XA事务。
支持单元化Group Sequence。
性能优化 优化MysqlDump兼容性问题处理,支持MySQL可执行HINT。
优化MysqlDump兼容性问题处理,支持MySQL单行注释“—”
修复问题 修复存在HINT时,没有正确设置ThreadLocal变量导致NPE的问题。
修复特殊场景下子查询条件上拉失败,导致全表扫描的问题。
修复子查询中拆分键条件提取失败导致全表扫描的问题。
修复计算物理分片时没有考虑BETWEEN … AND的情况,导致全表扫描的问题。
修复可直接下推RDS的For update SQL可能走了备库的问题。
修复SELECT @@session.tx_read_only返回值与MySQL不一致的问题。
修复算术表达式在某些情况下计算结果不正确的问题。
修复处理0000-00-00 00:00:00时间戳的取值报错的问题。
修复NESTLOOP JOIN在数据较大的情况下可能导致内存不足(OOM)的问题。
修复存在DRDS HINT在部分查询场景会导致NPE的问题。
修复开启事务时,PolarDB-X与RDS之间进行变量传递引发的报错问题。
修复SQL前加入多段PolarDB-X的HINT时SQL解析器会报错的问题。
修复物理慢SQL输出不正确的物理表表名的问题。
修复因算子计算量过大,引发协程过度占用CPU,并影响IO响应的问题。
修复UNIX_TIMESTAMP()函数不支持不带函数的形式,且带参数之后结果均为NULL的问题。
修复UNI_HASH对于bigInt unsigned及int unsigned的路由不正确的问题。
修复INSERT带HINT指定物理分库物理分表报表会表不存在的问题。
修复单库单表建表时错误走Group Sequence的问题。
修复Druid连接池在某些特殊情况下的Fail-Fast恢复异常所导致”because null”报错,并引发连接泄漏问题。
修复SQL的LIMIT子句被参数化导致物理SQL查询报错的问题,取消LIMIT子句参数化。
优化精确选择BKAJoin算法的规则,解决不可下推JOIN内存占用过高的问题。
修复INSERT VALUE中包含转意字符时,下发SQL报错的问题。
修复LEFT JOIN条件推导不全,导致分片计算报错的问题。
修复驱动表较大时BKAJoin的StackOverFlow的问题。
修复因Union查询优化没及时关闭连接导致连接泄漏问题。
修复特殊拆分规则导致拆分键大小写不匹配的问题。
修复类型相关的元数据存在的内存泄漏问题。
修复参数化缓存在SQL执行后没及时清空占用内存的问题。
修复涉及到UNI_HASH、RANGE_HASH、RIGHT_SHIFT三个拆分函数的跨库JOIN查询执行计划不正确下推并导致报错的问题。
修复SQL执行后返回JDBC的库名的meta信息不正确导致DMS或DTS操作报错的问题。
修复XA事务校验set drds_transaction_policy的语句必须放在事务开始前,否则报错的问题。

V5.3.2-1645122 日期 2018.07.05

类别 说明
修复问题 修复带有Outline的SQL在高并发场景因无法生效而产生不合预期的执行计划的问题。
修复事务中单个物理库的SELECT因使用并行查询策略导致拿物理连接报错的问题。

V5.3.2-1623342 日期 2018.05.25

类别 说明
新增特性 完善原生事务对XA事务的支持。
INSERT、UPDATE、DELETE语句支持5.2和5.3版本的HINT。
修复问题 修复结果集元信息中表名不正确的问题。
修复部分数据类型精度和范围异常的问题。
修复使用Direct HINT且仅指定部分逻辑表名时报错的问题。
SHOW NODE只统计读请求比例。
修复分库不分表情况下,关键字作为表名时查询异常的问题。
修复多UNION查询异常。
修复单表INSERT last_insert_id返回0的问题。