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

V5.4.7-16000638 日期2020-09-14

类别 说明
新增特性 支持在DELETE语句中使用子查询,子查询的子句范围与SELECT相同。
支持跨分片DELETE和UPDATE中使用ORDER BY、LIMIT或ORDER BY LIMIT命令。
支持跨分片DELETE和UPDATE多表中的数据。
支持在多表删除中删除广播表中的数据(目标表列表中可以包含广播表)。
支持在UPDATE语句中使用子查询,子查询的子句范围与SELECT相同,且不支持在SET子句中使用子查询。
支持UPDATE更新逻辑表的拆分键字段。
支持在多表更新中修改广播表(广播表中的列可以出现在SET中赋值语句的左侧)。
支持在VALUES从句中不指定拆分键或唯一键的值,或指定值为DEFAULT。
支持通过INSERT ON DUPLICATE KEY UPDATE修改主键、唯一键或拆分键的值。
支持在VALUES从句中设置唯一键中任意一列的值为NULL。
支持在BATCH INSERT语句中两行的主键或唯一键重复。
支持索引表中包含ON UPDATE CURRENT_TIMESTAMP或DEFAULT CURRENT_TIMESTAMP的列。
支持索引表中包含类型为TIMESTAMP且未指定DEFAULT VALUE或指定了CURRENT_TIMESTAMP为DEFAULT VALUE的列。
支持如下向量化的表达式:
  • 基本类型(如SHORT、INT、LONG、FLOAT、DOUBLE)的ADD(+)、MINUS(-)、MULTIPLY(*)、MOD(%)运算。
  • 基本类型的逻辑运算(如AND、OR、NOT)。
  • 基本类型的IS运算。
  • 控制流表达式(如CASE WHEN、IF、IF NULL)。
  • COALESCE表达式。
支持GROUP JOIN算子。
支持ENUM数据类型。
支持下推算子代价估算。
支持自动判断SQL负载类型。
支持通过EXPLAIN LOGICVIEW展示下推算子。
支持通过INFOMATION_SCHEMA.WORKLOAD展示实时负载。
支持在INFOMATION_SCHEMA中显示PROCESSLIST、CONSTRATINS和VARIABLES信息。
支持将SQL负载类型及代价信息打印到SQL日志中。
支持在创建全局二级索引时强制要求索引必须包含索引名及分库拆分规则,并对未包含上述规则的二级索引创建语句给出准确报错。
支持GROUP SEQUENCE自动抬高功能。
支持通过LOAD DATA语法导入数据。
修复问题 修复聚合函数下唯一键判断错误可能导致的索引使用错误等问题。
修复非Java语言PREPARE模式下使用SELECT子查询可能报错的问题。
修复若干MPP模式下的潜在问题 (如部分对象无法序列化)。
修复对ZEROTIME、ZEROTIMESTAMP、ZERODATE等的支持问题。
修复建表存在重复列时不会报错的问题。
修复TINYINT返回长度概率性出错的问题。
修复全局二级索引锁丢失问题。
修复垂直拆分模式下通过ALTER TABLE加减列不生效的问题。
修复自定义auto_increment_increment参数后,getGeneratedKeys不准确的问题。
修复使用SEQUENCE语句时有可能访问到只读实例的问题。
修复STR_TO_DATE指定格式返回结果不正确的问题。
修复多种表达式的类型错误和执行错误问题。
优化性能 优化部分HASHJOIN执行计划,使之匹配BKAJOIN算法,提升查询性能。
优化MergeSort实现,解决归并排序过程中保持过多连接的问题。
优化复杂查询逻辑,使用基于CBO代价估算实现复杂查询的识别。
优化MemoryNotEnoughException错误提示,并在提示中显示USAGE和LIMIT信息。
优化TIME-BASED SEQUENCE批量插入的性能。
禁止同一拆分列在分库分表上使用不同的拆分函数。

V5.4.6-15946373 日期2020-07-13

类别 说明
新增特性 新增支持CUBE、ROLLUP、GROUPING和GROUPING SETS语法。
新增支持一个查询同时包含多个带DISTINCT关键字的聚合函数。
新增支持需要回表场景下全局二级索引的自动选择。
新增支持SHOW TRACE、SHOW SLOW使用WHERE和ORDER BY语法。
新增支持对视图的SHOW COLUMN和SHOW INDEX操作。
新增支持Functional Dependency。
修复问题 修复First Value导致聚合函数无法下推问题。
修复PREPARE协议下内存对象未被释放的问题。
修复PREPARE协议下执行SET语句抛异常的问题。
修复PREPARE协议下非Java户端可能会产生的错误问题。
修复部分场景下包含全局二级索引表上执行INSERT,由于主键校验异常导致报错的问题。
修复全局二级索引特殊情况下回滚失败的问题。
修复全局二级索引校验在错误超限时的报错信息。
修复包含全局二级索引的表在SHOW CREATE TABLE时缺失Sequence类型的问题。
修复DROP正在创建中的全局二级索引的报错信息。
修复SET开始的多语句,后续语句转义问题。
修复部分解析器语法问题。
修复标识符、别名等包含英文反引号(`)的问题。
修复TableMeta主键误报问题。
修复部分场景下元数据刷新导致UPDATE执行报错的问题。
修复RR隔离级别的一处连接管理问题。
修复SHOW STATS中ACTIVE_CONNECTIONS不准确的问题。
修复子查询部分场景下报错的问题。
修复OPTIMIZE TABLE有概率被路由到备库的问题。
修复部分模式下SELECT ... FOR UPDATE语句会走备库问题。
修复特殊情况下EXPLAIN OPTIMIZER报错的问题。
优化性能 优化MPP优化阶段,统一SMP及MPP的CBO算法。
优化XA分布式事务提交的性能。
优化窗口函数不支持的报错提示。
优化GROUP BY和ORDER BY中子查询不支持的报错。
禁用CREATE TABLE SELECT STATEMENT语法。

V5.4.5-15917814 日期2020.06.11

类别 说明
修复问题 修复部分场景下物理SQL中包含指定GSI的USE INDEX导致报错的问题。
修复包含GSI的表,在ON DUPLICATE KEY UPDATE中引用时间函数表达式导致报错的问题。
修复information_schema.statistics索引值为NULL问题。
修复information_schema.statistics大小写问题。
修复DML语句表名大小写处理异常,导致GSI创建失败的问题。
修复非Java语言使用PREPARE模式访问PolarDB-X可能出现的NPE问题。

V5.4.5-15897682 日期2020.05.18

类别 说明
新增特性 新增支持视图的创建、修改和删除。
新增支持单表并行查询。
新增支持在主键为任意类型的表上创建全局二级索引。
新增支持INFOMATION SCHEMA的复杂查询。
新增支持设置SESSION事务隔离级别。
新增支持EXPLAIN支持前置COMMENT(如/* COMMENT*/EXPLAIN …)。
新增支持热点补丁语法。
新增支持MySQL协议中COM_RESET_CONNECTION命令。
新增支持SHOW TRANS命令显示PROCESS_ID
修复问题 修复MySQL 8.0 PREPARE模式下若干问题。
修复SHOW STATS中类型转换错误。
修复数字结尾的逻辑表名导致执行计划展示异常的问题。
修复EXPLAIN OPTIMIZER在部分场景下报错的问题。
修复特殊表结构导致UPDATE返回值数据类型异常的问题。
修复添加多列全局二级索引时,局部索引名过长导致报错的问题。
修复部分类型返回问题。
修复LIMIT、OFFSET过大值导致的溢出问题。
修复部分列子查询APPLY执行器问题。
修复高并发大批量多语句DML执行有概率被内存池分配限制并产生报错的问题。
修复SELECT FROM DUAL WHERE NOT EXISTS…报错问题。
优化性能 优化全局二级索引多索引表点写性能。

V5.4.4-15862314 日期 2020.04.07

类别 说明
修复问题 修复包含列子查询的INSERT SELECT在部分场景下报错的问题。
修复部分场景下物理SQL丢失别名的问题。
修复单逻辑表场景下应用执行计划失效的问题。
修复部分场景下执行计划缓存导致的权限问题。
修复拆分键大小写导致BKAJoin报错的问题。
修复BKAJoin不支持MergeUnion的问题。
修复部分带HINT的DELETE报错的问题。
修复AsyncDDL初始化过慢导致SPM初始化异常的问题。

V5.4.4-15846983 日期 2020.03.20

类别 说明
新增特性 支持非递归公共表表达式(CTE)语法。
SHOW PHYSICAL_PROCESSLIST指令支持WHERE、ORDER BY、LIMIT和ORDER BY LIMIT。
支持BASELINE HELP指令。
支持EXPLAIN JSON_PLAN [SQL]指令,输出JSON格式的物理执行计划。
LIKE运算符支持ESCAPE关键字。
支持通过开关控制DDL生成的物理表名是否带随机串。
支持协程开关。
修复问题 修复HAVING中子查询重名情况下列别名匹配错误问题。
修复子查询中GROUP BY匹配别名错误问题。
修复非等号子查询关联项部分场景下的顺序问题。
修复枚举类型的等值过滤问题。
修复使用高版本JDBC驱动读取TINTINT(1)/BIT(1)显示为二进制问题。
修复TIMESTAMP固定显示3位秒级以下精度问题。
修复部分场景下TIMESTAMP和TINYINT互转问题。
修复SHOW STATS中并发处理可能导致的物理库QPS不准确的问题。
修复窗口函数优化部分场景下转化失败报错的问题。
解决跨库时存在同名表时解析优化表名混淆问题。
修复拆分键为复合主键一部分时,不为拆分键自动创建索引的问题。
修复SHOW TABLESINFORMATION_SCHEMA查询结果包含当前用户无权限表的问题。
修复通过ALTER TABLE变更AUTO_INCREMENT字段时报SEQUENCE已存在的问题。
修复INFORMATION_SCHEMA.STATISTICS查询结果不完整的问题。
修复表名中带有英文句点(.)时建表和删表失败的问题。
修复SHOW COLUMNS不支持跨SCHEMA查询的问题。
修复EXPLAIN OPTIMIZER异常处理机制导致查询报错的问题。
修复UPDATE不支持别名使用英文反引号(`)的问题。
修复多表UPDATE部分场景下丢失别名导致的报错问题。
修复添加全局二级索引时,索引表中缺少主表上部分局部索引的问题。
优化性能 优化XA、2PC分布式事务流程,不再支持柔性事务。
优化DECIMAL数据类型实现。
优化事务内扫描多分片SQL的并发执行策略。
优化SEMIJOIN类子查询性能。

V5.4.3-15791082 日期2020.01.16

类别 说明
新增特性 新增DML语句的CPU统计及SQL日志指标的打印。
新增SQL日志增加arows属性(逻辑SQL的所有物理DML的影响行数)。
修复问题 修复产生一个物理分片的SQL查询的ptc与frows统计错误问题的问题。
修复JOIN HINT与回表算子的兼容性问题。
修复LIMIT存在时CBO异常下推Filter的问题。
修复USE、IGNORE INDEX指定无效索引时错误下推到物理SQL中的问题。
修复Filter下推对子查询ApplyCache的支持。
优化性能 优化启动时统计信息加载效率。
优化SET NAMES指令对utf8mb4兼容编码的处理效率。

V5.4.3-15788850 日期2020.01.13

类别 说明
新增特性 新增全局二级索引自动索引选择,详情请参见使用全局二级索引
新增通过USE INDEX和IGNORE INDEX限制候选的全局二级索引。
新增通过UPDATE语句更新全局二级索引表的拆分键。
新增全局二级索引校验,详情请参见CHECK GLOBAL INDEX
新增支持在BKAJOIN中进行动态分区裁剪。
SHOW PROFILE命令增加显示计划的并行度及TRACEID。
新增支持 SET tx_isolation = ‘…’ 语法。
修复问题 修复跨库INSERT SELECT的偶发性内存不足(OOM)问题。
修复统计信息列大小写敏感问题。
修复部分下推SQL EXPLAIN EXECUTE返回结果为空的问题。
修复LENGTH、IF、IFNULL函数的结果类型推导。
优化性能 改进DDL任务引擎的稳定性、易用性和性能。
优化单条SQL运行过程中的CPU统计准确性。

V5.4.2-15749091 日期 2019.11.28

类别 说明
修复问题 修复主表带AGG,以及有PROJECT中的子查询时,关联项ID丢失问题。
修复show stc指令丢失dbnameipport信息问题。

V5.4.2-15744202 日期 2019.11.22

类别 说明
新增特性 PolarDB-X支持RDS MySQL 8.0与PolarDB MySQL 8.0实例。
新增对SQL进行CPU及内存消耗分析功能,可通过SHOW PROFILE [CPU|MEMORY] [FOR QUERY X]命令分析。
SHOW PROCESSLIST新增SQL的CPU消耗与内存消耗信息。
修复问题 修复TIME类型及相关函数兼容问题。
修复一些类型相关的推导问题。
优化性能 优化BATCH INSERT性能。
优化全局二级索引数据回填并行化,提升回填速度。

V5.4.1-15731181 日期 2019.11.07

类别 说明
新增特性 新增支持创建全局二级索引(CREATE GLOBAL INDEX)、创建全局唯一索引(CREATE UNIQUE GLOBAL INDEX)、查看全局二级索引语法(SHOW GLOBAL INDEX)。
新增动态调整PolarDB-X连接时区功能。
新增支持逻辑RENAME TABLE,提高RENAME TABLE性能。
新增CREATE SHADOW TABLE语法,用于创建和关联全链路压测影子表。
新增UPDATE、DELETE对DERIVED子查询的支持。
新增CBO、JOIN与AGG下推与交换能力。
新增SHOW METADATA LOCK查看DRDS METADATA LOCK信息。
新增支持PLAN MANAGEMENT运维指令。
新增支持CREATE TABLE WITH GLOBAL INDEX和CREATE GLOBAL INDEX的回滚。
新增CREATE TABLE和DROP TABLE关联未完成全局二级索引的检查并提示。
新增支持指定JOB ID执行SHOW DDL。
新增支持非等值的条件推导。
新增PARALLEL QUERY对更多算子并行的支持。
修复问题 修复回收站启用后,表名中包含特殊符号导致RENAME TABLE报错的问题。
修复PlAN MANAGEMENT线程池抛ABORT异常问题。
修复HashAggCursor处理不同类型输入HASHCODE不准确问题。
修复BETWEEN与NOT BETWEEN处理问题。
修复HashAggExec内存统计问题。
修复写入广播表时的函数计算出错问题。
修复使用高版本JDBC驱动连接MANAGE PORT报错的问题。
修复UPDATE、DELETE条件中包含库名导致报错的问题。
修复UPDATE、DELETE SET部分有重名列导致报错的问题。
修复LEFT JOIN + IS NULL导致分区裁剪异常的问题。
修复INSERT SELECT偶发的不支持错误的问题。
修复全局二级索引表名、拆分键、DDL回滚表名中包含特殊字符问题。
修复SQL中HINT和COMMENT多层嵌套时解析异常。
修复建表语句DEFAULT后加COLLATE的解析错误问题。
修复非法日期时间格式解析的问题。
修复CONVERT函数转换HEX到字符乱码的问题。
修复SUBSTRING、SUBSTRINGINDEX、JSONEXTRACT等函数传递NULL参数异常的问题。
修复CONNECTION_ID()与SHOW RPOCESSLIST不一致的问题。
修复子查询表名同外表一致时出现的异常。
修复子查询转化过程中CASE WHEN函数的类型问题。
修复PROJECT中多个子查询下推时的转换问题。
修复包含JOIN的列重名问题。
修复部分列找不到误报未表找不到的问题。
修复查询时ORDER BY不存在的列导致的StackOverflow问题。
修复WHERE条件中存在CASE WHEN且WHEN表达式存在AND条件下的下推错误问题。
修复当JOIN左右表存在不可下推的PROJECT时,进行JOIN_PROJECT_TRANSPOSE导致的问题。
修复当TIMESTAMP类型作为拆分键时会因时区导致分片路由错误的问题。
优化性能 优化规则自动清理任务执行。
优化INFORMATION_SCHEMA查询性能。
优化BKAJOIN COST估算算法。
优化DDL后更新统计信息、BASELINE逻辑。
优化两阶段AGG逻辑,支持GROUP BY列。
优化PolarDB-X事务日志的清理策略,减少清理时间,降低对后端存储的访问压力。
优化ADDTIME、SUBTIME、DATEADD、DATESUB、INTERVAL等函数中微秒精度计算。
优化SQL审计日志减少网络抖动的影响。
优化器内支持创建DOUBLE类型的LITERAL。
优化下推的GROUP BY查询避免生成子查询。
优化聚合函数内部实现,内存占用更低、性能更优。
优化CBO对常量表达式的选择率估计。
优化DDL相关解析,增强错误检查能力。
优化部分涉及时间类型的表达式计算中对异常时间的处理,兼容MySQL行为。