All Products
Search
Document Center

PolarDB:Release notes

Last Updated:Apr 02, 2024

This topic describes the release notes for PolarDB-X.

Release date: 2024-02-04

Major version: V5.4.18

Minor version: 17066805

Category

Description

New and optimized features

The SHOW CREATE TABLEGROUP statement is added to display information about the predefined table groups.

DDL operations, such as adding or removing columns, adding or removing indexes, and modifying columns, can be atomically committed cross multiple shards after they are pushed down to Data Nodes (DNs).

When an ANALYZE TABLE operation fails, a message indicating the reason for the failure is returned.

Streaming retrieval of result sets during a sampling operation is supported.

The subquery decorrelation logic is optimized to ignore the impact of ORDER BY without LIMIT in subqueries on decorrelation.

The time required for online alteration of column types is reduced.

Fixed issue

The following issue is fixed: The max_allowed_packet and max_user_connections parameters cannot be configured globally.

The following issue is fixed: The primary key of an automatically sharded common table cannot be modified directly.

The following issue is fixed: Incorrect results may be occasionally returned when you query the timestamp field in an archived table.

The following issue is fixed: The physical shards may not be found after a RENAME TABLE operation is interrupted.

The following issue is fixed: Index diagnostics cannot be performed when the database includes views.

The following issue is fixed: DDL operations may unexpectedly pause when you modify the shard key column type of a global unique index.

The following issue is fixed: The RENAME TABLE statement may occasionally fail to be executed on a time-to-live (TTL) table.

The following issue is fixed: A database whose name exceeds five characters in length cannot be scaled up after it is upgraded from Standard Edition to Enterprise Edition.

The following issue is fixed: A routing error is reported when the primary key column is truncated during primary key-based table sharding.

The following issue is fixed: The corresponding plan cache is not cleared when a view is modified.

The following issue is fixed: The index diagnostics feature may apply incorrect diagnostic policies to the global indexes of a key-partitioned table.

Release date: 2024-01-10

Major version: V5.4.18

Minor version: 17047709

Category

Description

Fixed issue

The following issue is fixed: The indexes recommended by the index recommendation feature are longer than expected.

The following issue is fixed: Join operations for a sharded table may be incorrectly pushed down after the common table sharding feature is enabled.

The following issue is fixed: Partition routing errors occur because the calculation result of the RIGHT partitioning function of CoHash is incorrect.

Release date: 2023-12-27

Major version: V5.4.18

Minor version: 17034692

Category

Description

New and optimized features

The co_hash partitioning policy is added for databases in AUTO mode.

The process of using the A/B table scheme to clear transaction logs is optimized to prevent the logs of all databases from being cleared. This feature is enabled by default on new instances.

The error message returned after the maximum number of prepare statements in a single CN connection is exceeded is optimized.

The data migration method during scaling is optimized. For more information, see Experiment features.

Fixed issue

The following issue is fixed: I/O computing errors may occur when tautological conditions are used.

The concurrency safety issue generated by XPLAN is fixed.

The issue of failed statistics collection is fixed.

The following issue is fixed: An error is returned when you execute a SELECT statement without specifying a table name on a database in AUTO mode.

The following issue is fixed: An exception occurs when multiple columns of the same type exist in an INSERT statement.

The following issue is fixed: Incorrect auto_increment values may be displayed in the results of the SHOW CREATE TABLE statement.

The following issue is fixed: The GSI discrimination is incorrectly calculated by the index diagnostics feature.

The following issue is fixed: Null pointer exceptions (NPEs) may occur when the amount of cursor data in a stored procedure is larger than expected.

The following issue is fixed: Execution plans cannot be deleted in the SPM.

The following issue is fixed: Fully pushed down execution plans enter the SPM.

Release date: 2023-12-21

Major version: V5.4.17

Minor version: 17025353

Category

Description

New and optimized features

The SKIP_PHYSICAL_ANALYZE parameter is added to skip the analyze operation on a DN when the ANALYZE TABLE statement is executed.

You can dynamically adjust the maximum length of partition names in partitioned tables.

The logic of the ANALYZE TABLE statement is optimized to avoid collecting GSI statistics.

The time column data uncollected in statistics can be reasonably predicted.

Creating tables in a database in AUTO mode when a table group contains a large number of tables is accelerated.

Creating a large number of tables in a database in AUTO mode is accelerated.

The verification for data migration is accelerated in some scenarios.

Fixed issue

The following issue is fixed: If the close stream feature is enabled in XRPC and the instance-level connection pool is used to switch databases, the database switching may fail occasionally.

The following issue is fixed: When a subquery has three or more associated items, the association may fail.

The following issue is fixed: Inconsistent CN statistics may be caused by DDL operations.

The following issue is fixed: If column names are in uppercase, you may fail to modify the column type of partitions.

The following issue is fixed: A message appears indicating that JSON is not supported during execution of DML operations.

The following issue is fixed: The default charset syntax cannot be modified in the ALTER TABLE statement.

The following issue is fixed: Thread leaks occur when ping requests are sent in binlog dump connections.

The following issue is fixed: Transaction leaks occur occasionally when connections are killed.

Release date: 2023-11-22

Major version: V5.4.18

Minor version: 17004745

Category

Description

New and optimized features

The efficiency for creating tables that contain a large amount of data in a database in AUTO mode is improved.

The plan_cache view is added to return execution plans in the default database.

The efficiency for concurrently creating tables in a database in AUTO mode is improved.

Fixed issue

The following issue is fixed: Unfriendly error messages are returned when you specify a nonexistent database name in the ALTER TABLE statement.

The following issue is fixed: The alter table statement cannot be executed when you add both DROP COLUMN and MODIFY COLUMN to the statement.

The following issue is fixed: If you leave the order by and partition by fields in a window function empty, an error may be returned in some execution modes.

The following issue is fixed: When you query the tables view in the information schema, an error may be returned.

The following issue is fixed: If column names are in uppercase, you may fail to modify the column type of partitions.

The following issue is fixed: If the close stream feature is enabled in XRPC and the instance-level connection pool is used to switch databases, the database switching may fail occasionally.

The following issue is fixed: The number of warning messages displayed in the result of the SHOW WARNINGS statement is incorrect.

The following issue is fixed: The ANALYZE TABLE statement may not be interrupted by rollback DDL operations.

The following issue is fixed: When data is migrated or indexes are added and if a table contains data of the string type, data of the string type may be incorrect in the destination table.

The following issue is fixed: Data related to the GSI is lost in the TableDetail view after you execute the TRUNCATE TABLE statement.

The following issue is fixed: Execution of the ALTER TABLE statement to modify the AVG_ROW_LENGTH value fails.

The following issue is fixed: The statement used to create a table that contains non-templated hash subpartitions is executed as a statement used to create a table that contains templated hash subpartitions.

Release date: 2023-11-13

Major version: V5.4.17

Minor version: 16994228

Category

Description

New and optimized features

The execution plans in the unique key (UK) columns for IN conditions are optimized in the statistic error scenario.

The deserialization for subpartition DDL tasks is accelerated.

Adding global secondary indexes to TTL tables is accelerated.

Fixed issue

The following issue is fixed: LogicalView cache cannot be used in sharding scenarios.

The following issue is fixed: JSON is not supported in DML logic executions.

The following issue is fixed: The replay of a secondary database fails due to auto savepoint.

The following issue is fixed: No data is found because some views in the information_schema database contain IN conditions.

The following issue is fixed: When the information_schema.tables view contains a large number of partitions, queries are slow.

The following issue is fixed: Connection leaks occur occasionally when transactions are closed.

The following issue is fixed: Column mapping errors may be caused by subqueries that can be pushed down in special scenarios.

Release date: 2023-10-23

Major version: V5.4.18

Minor version: 16977056

Category

Description

New and optimized features

Foreign key constraints are supported.

You can modify privileged accounts.

Error codes can be recorded in SQL logs.

The CREATE TABLE [AS] SELECT statement is added.

The information_storage_status view is added to obtain real-time monitoring data of GMS and DN nodes.

The HashWindow execution mode is added to improve the performance of window functions.

The heatmap feature is optimized to reduce time consumption.

The statistics sampling frequency is changed to once a day.

The deserialization performance for subpartition DDL tasks is improved.

The decimal type with the specified precision 0 can be used as the partition key column in partitioned tables of a database in AUTO mode.

Fixed issue

The nonstandard output format issue of error codes is fixed.

The following issue is fixed: Duplicate values are returned and cached parameters are not displayed in the information_schema.plan_cache view.

The following issue is fixed: If the encryption keyword is included in a table, the table cannot be parsed.

The following issue is fixed: An error is reported by the optimizer due to semantic verification exceptions when a DML statement contains views.

The following issue is fixed: Partition hints do not support statements that contain session variables.

The following issue is fixed: The format of the result returned by the current_user function is invalid.

The concurrency safety issue for some DAL commands in high concurrency scenarios is fixed.

The following issue is fixed: An error is reported due to false positives about index coverage in Agg queries.

The following issue is fixed: An error is returned when you replace JSON values in a table that contains UK columns.

The following issue is fixed: If you run the resize command to modify the PlanCache size and the new PlanCache size is not stored in metaDB, the PlanCache size remains the default value after the CN is restarted.

The following issue is fixed: Data loss occurs after you modify the values of a list partition.

Release date: 2023-10-16

Major version: V5.4.17

Minor version: 16971811

Category

Description

New and optimized features

The reload datasources feature is added for proprietary protocols.

Compressed storage for large-scale sharding DDL tasks is supported to reduce the response time for scheduling DDL engines.

Fixed issue

The following issue is fixed: An error may be returned when an SQL statement contains contradictory expressions.

The following issue is fixed: Data inconsistency may occur when pending transactions exist during scaling.

The following issue is fixed: The affected rows are invalid in complex DML statements of GSIs after useAffectedRows is set to true.

The following issue is fixed: An error is returned occasionally when nested batched key access (BKA) joins are performed.

The following issue is fixed: An error is returned occasionally when a proprietary protocol obtains TSO.

The following issue is fixed: After you specify the maximum number of physical partitions in a partitioned table and if subpartitions are used, the value does not take effect.

The following issue is fixed: Where network jitter occurs, errors are occasionally returned in DDL execution results.

The following issue is fixed: When DDL statements are frequently executed, system tables are occasionally deadlocked.

The following issue is fixed: NPEs may occur due to incorrect use of uppercase and lowercase letters when you query table details in the information_schema database.

The following issue is fixed: Errors may occur if subqueries are converted to semi-joins in some scenarios.

Release date: 2023-09-22

Major version: V5.4.17

Minor version: 16952556

Category

Description

New and optimized features

The verification task can be interrupted quickly during scaling operations.

useAffectedRows is supported.

A global index can be created on an automatically partitioned table without specifying a partition key in the CREATE GLOBAL INDEX statement.

The DECIMAL data type is supported for columns when a partitioned table is created.

The execution mechanism of scheduled tasks is optimized. The bucket of the random thread pool is used in a more efficient manner when a scheduled task is executed. This prevents all threads in a single bucket from being occupied by a task.

The performance of the LOAD DATA statement when it is executed over the PolarDB-X proprietary protocol is optimized.

The logic for pre-partitioning a TTL table is optimized.

The logic for pausing, canceling, or rolling back rebalance DDL operations is optimized.

The scheduled task for archiving a TTL table is optimized.

The execution efficiency of DDL statements with an excessive number of tables included in the same table group is optimized.

Fixed issue

The following issue is fixed: The CHECK GLOBAL INDEX statement can be concurrently executed.

The following issue is fixed: An error is reported when the CHECK GLOBAL INDEX SHOW statement is executed.

The issue concerning the compatibility of archived tables when the Java Database Connectivity (JDBC) protocol is used is fixed.

The following issue is fixed: A connection pool is shared between the compute nodes of the primary instance and the data nodes of a read-only instance that operates independently of the primary instance.

The following issue is fixed: In specific scenarios, an error occurs when the CREATE TABLE WITH GSI statement is executed, and the statement cannot be rolled back.

The following issue is fixed: Some Data Access Language (DAL) commands are prone to concurrency security risks in high concurrency scenarios.

The following issue is fixed: The executor does not use XPLAN in specific scenarios.

The following issue is fixed: The database crashes when XPLAN is used to access a table that contains generated columns.

The following issue is fixed: A NullPointerException (NPE) error occurs when the SHOW CREATE DATABASE statement is executed on a database created in AUTO mode in specific scenarios.

The following issue is fixed: When data chunks are transmitted over the PolarDB-X proprietary protocol, a string that is converted to an integer cannot be identified if a type inference error occurs and the string contains a negative sign.

The following issue is fixed: The scaling process may fail when an excessive number of tables exist in a database.

The issue related to routing policies in the BKAJoin scenario is fixed.

The following issue is fixed: Tables without primary keys, composite indexes, and global indexes are not properly displayed in the information_schema.table_constraints view.

The following issue is fixed: The data verification process may be blocked by data migration tasks.

Release date: 2023-08-18

Major version: V5.4.17

Minor version: 16921956

Category

Description

New and optimized features

The default_single=‘on’ parameter is added to the statement that is used to create a database in AUTO mode. This way, a single table is created in the database and the table data is distributed across different data nodes.

A single table can be pushed down across databases in non-transactional scenarios.

A mechanism is added to detect lock wait situations over the PolarDB-X proprietary protocol. This mechanism can automatically terminate long-running transactions that block physical DDL operations for more than 15 seconds.

Support for table-level and table group-level partitions is optimized in LIST DEFAULT subpartition scenarios.

The O&M time window of cold data archiving is optimized to prevent an archiving task that is unexpectedly interrupted from being restarted outside the time window.

The logic for processing the exceptions of cold data archiving tasks is optimized.

Fixed issue

The following issue is fixed: The primary instance fails to be restarted due to the exceptions of read-only data nodes in read/write splitting scenarios.

The following issue is fixed: A parsing error occurs when an IN query for multiple columns contains a HEX expression.

The following issue is fixed: Multiple lookup executors access a message queue (MQ) to obtain column information during the lookup execution.

The following issue is fixed: Long-running transactions whose logs are being cleared may block other transactions.

The following issue is fixed: When the RENAME TABLE statement is executed on multiple tables, deadlocks may occur.

The following issue is fixed: An NPE error occurs during route pruning when a point query is performed for a subpartitioned table that contains partition functions.

The following issue is fixed: The search results do not meet expectations when the SELECT @@global.server_id statement is executed.

The following issue is fixed: An unexpected error occurs when the CREATE TABLE IF NOT EXISTS LIKE statement is executed.

The following issue is fixed: The automatic evolution plans specified by the SQL plan management (SPM) feature cannot be selected.

The following issue is fixed: The cost of composite index scans is incorrectly estimated by the optimizer.

The following issue is fixed: An NPE error occurs due to some DML operations when the Move Partition operation is performed on a subpartition.

The following issue is fixed: Residual metadata exists after global secondary indexes (GSIs) are deleted.

The following issue is fixed: The log sequence number (LSN) of a database in Distributed Relational Database Service (DRDS) mode fails to be configured after the database is scaled out.

The following issue is fixed: Data inconsistency occurs when a DML statement that contains the rand() function is executed on a broadcast table.

The following issue is fixed: An index fails to be created when the index name is hash.

Release date: 2023-07-28

Major version: V5.4.16

Minor version: 16901668

Category

Description

New and optimized features

Double quotation marks (" ") can be included in the password of a user when the user is created.

Fixed issue

The following issue is fixed: The number of active connections is a negative number when the SHOW STATS statement is executed to query data.

The following issue is fixed: Data inconsistency occurs when a DML statement that contains the rand() function is executed on a broadcast table.

The following issue is fixed: A DDL statement may be stuck if its syntax is incorrect.

The following issue is fixed: Connection leaks may occur on the GMS connection pool if you repeatedly change configurations of the primary instance.

Issues related to the calculation of the date_add function are fixed.

The following issue is fixed: Indexes whose names contain special characters fail to be deleted when the ALTER TABLE DROP INDEX statement is executed.

The following issue is fixed: The optimization of partition keys is invalid due to changes in the keys.

The following issue is fixed: The character sets and collates in the information_schema tables view are invalid.

The following issue is fixed: The cost of composite index scans is incorrectly estimated by the optimizer.

Release date: 2023-07-24

Major version: V5.4.17

Minor version: 16899058

Category

Description

New and optimized features

useAffectedRows is supported.

The information_storage_status view is added for real-time monitoring of GMS and DN.

Fixed issue

The following issue is fixed: Long-running transactions that are being cleared may block other transactions.

The following issue is fixed: If a DML statement contains a view, the semantic verification has exceptions and the optimizer reports errors.

The following issue is fixed: If the table creation statement and parsing syntax contain the BIGINT SIGNED column definition, an error occurs.

The following issue is fixed: In certain project aggregate scenarios, the extraction of associated subquery conditions has exceptions and the optimizer reports errors.

The following issue is fixed: Filters are not fully inferred.

The following issue is fixed: Partition hints do not support statements that contain session variables.

The following issue is fixed: An error occurs in specific scenarios when the SELECT clause of an INSERT IGNORE SELECT statement contains associated subqueries.

The following issue is fixed: An execution plan error occurs when an INSERT SELECT statement contains operators that cannot be pushed down.

The following issue is fixed: An error occurs when you create a table by using PARTITION BY KEY but do not specify any column.

The following issue is fixed: After the whitelist for a read-only instance is maintained, data cannot be synchronized from the primary instance to the read-only instance.

The following issue is fixed: After the ANALYZE TABLE statement is executed, the statement cannot be paused or rolled back.

The following issue is fixed: A DDL statement may be stuck if its syntax is incorrect.

The following issue is fixed: In JDBC mode, errors may occur when you use DMS to scan large tables without specifying the limit parameter.

Release date: 2023-07-13

Major version: V5.4.17

Minor version: 16890724

Category

Description

Optimized feature

The default naming logic of indexes is optimized to be consistent with that of MySQL.

Fixed issue

The following issue is fixed: In specific scenarios, an error occurs when the system is populating default values.

The following issue is fixed: Statistics cannot be collected for scheduled tasks.

The following issue is fixed: After the whitelist for a read-only instance is maintained, data cannot be synchronized from the primary instance to the read-only instance.

The following issue is fixed: The result of the SUM function is incorrect in some scenarios.

Release date: 2023-07-06

Major version: V5.4.17

Minor version: 16885239

Category

Description

New and optimized features

The logic of auto-savepoint is optimized. This feature is enabled by default.

The information returned by the SET GLOBAL statement is optimized. If the SET GLOBAL statement that is executed by a standard account does not take effect, a warning is reported.

When the SHOW TABLE REPLICATE STATUS statement is executed, the status of all tables and GSIs in the current database can be displayed.

You can use set cdc global key=value to configure change data capture (CDC)-related system variables.

The detection mechanism of physical MDL lock wait is optimized.

In massively parallel processing (MPP) mode, you can configure session variables for compute nodes.

Fixed issue

The following issue is fixed: Index diagnostics fails in specific scenarios.

The following issue is fixed: HA detection fails when HA failovers occur on the data nodes of the primary and read-only instances at the same time.

The following issue is fixed: The type inference of the TRIM function is incorrect.

The following issue is fixed: If a query that is in the prepared mode has a large number of parameters, the number of parameters cannot be correctly determined.

The following issue is fixed: When the ALTER TABLE DROP INDEX statement is executed, the index whose name contains special characters cannot be deleted.

The following issue is fixed: The filter conditions that are passed by equivalence conditions cannot pass through aggregation operators.

The following issue is fixed: Connection leaks may occur on the GMS connection pool if you repeatedly change configurations of the primary instance.

The following issue is fixed: Out-of-bound memory accesses may occur during special data transmission by using the chunk encoder private protocol.

The following issue is fixed: If the table creation statement and parsing syntax contain the BIGINT SIGNED column definition, errors occur.

Release date: 2023-06-13

Major version: V5.4.17

Minor version: 16865674

Category

Description

New and optimized features

The GROUP_CONCAT_MAX_LEN parameter is added for compute nodes and storage nodes.

Fixed issue

The following issue is fixed: A parsing error occurs when the CREATE TABLE statement contains ROW_FORMAT = x COLLATE y.

The following issue is fixed: Partition group metadata may be incorrect when you create a list partitioned table.

Release date: 2023-06-06

Major version: V5.4.17

Minor version: 16859297

Category

Description

New and optimized features

Audit logs are stored in memory and the audit log collection process is optimized.

When the SQL throttling keyword is matched, the grave accents (`) before and after the keyword are ignored.

The index diagnostics feature is added to perform quick diagnostics on inefficient indexes. For more information, see Index diagnostics.

The compatibility of the collation field in the information_schema tables view of an Object Storage Service (OSS) table is improved.

The behavior after a physical DDL statement is interrupted or canceled is optimized.

Fixed issue

The following issue is fixed: If you use the Avg function in a window function and the input column is of the double type, an error may occur.

The following issue is fixed: The PAUSE DDL statement cannot suspend DDL operations.

The following issue is fixed: The invisible index is incorrectly displayed when the SHOW CREATE TABLE statement is executed and used by the optimizer when force index is used in the statement.

The following issue is fixed: The baseline add and fix in queries cannot use SPM.

The following issue is fixed: The results cannot be sorted when you run the ShowTopology command.

The following issue is fixed: Rawstring parameters are incorrectly converted in JDBC batch updates.

Release date: 2023-06-02

Major version: V5.4.16

Minor version: 16855897

Category

Description

Fixed issue

The following issue is fixed: If a CREATE TABLE statement contains global indexes, the table may fail to be created.

Release date: 2023-05-23

Major version: V5.4.16

Minor version: 16847200

Category

Description

New and optimized features

The logic for determining whether an IN query hits the plan cache is optimized.

Fixed issue

The following issue is fixed: In a database in the AUTO mode, the execution plan generated for a partition key in an IN query is incorrect.

Release date: 2023-05-15

Major version: V5.4.16

Minor version: 16839433

Category

Description

New and optimized features

The thread pool size and timeout period of the log sequence number (LSN) fetch feature can be modified.

The configuration mode of the server_id parameter is optimized: The value of the server_id parameter remains unchanged when you upgrade, change configurations, and implement high-availability switchover for an instance.

The BASELINE HINT BIND statement is added to bind DML execution plans.

Fixed issue

The following issue is fixed: Incorrect results may be returned when an IN query is converted to a JOINT query.

The following issue is fixed: An error occurs when the number of IN expression parameters is changed when the INFORMATION_SCHEMA database is accessed.

The following issue is fixed: Prepare requests are counted toward QPS.

The following issue is fixed: The DATE_FORMAT() function behaves inconsistently on compute nodes and data nodes.

The following issue is fixed: The queries per second (QPS) and the transactions per second (TPS) statistics are incorrect when the instance has no traffic.

The following issue is fixed: The TPS statistics for read-only transactions on compute nodes are incorrect.

The following issue is fixed: An NPE error occurs when CDC obtains topology metadata because no physical tables exist in a physical database when DDL statements are executed.

The following issue is fixed: The PAUSE DDL statement cannot suspend DDL operations.

The following issue is fixed: The data is not routed correctly because the CHAR data type is not truncated to match the fixed length when the LONG data type is converted to the CHAR data type.

The following issue is fixed: Rawstring parameters are not correctly converted in JDBC batch updates.

The following issue is fixed: An error occurs when the optimizer converts aggregate functions in specific scenarios.

The following issue is fixed: Equi joins cannot be processed as hash joins.

Release date: 2023-05-09

Major version: V5.4.17

Minor version: 16835173

Category

Description

New and optimized features

The local partition rule can be modified for a TTL table that has been bound to an archived table.

Indexes can be created for columns and functions.

The instant add column feature is enabled by default.

Global indexes can be hidden or displayed. For more information, see INVISIBLE INDEX.

Data for the secondary node can be backfilled to reduce impacts on your business.

The number of new partitions can be specified when the KEY partitioning policy is used to split an existing partition.

The ALTER TABLE DROP PRIMARY KEY and ALTER TABLE ADD PRIMARY KEY statements are supported in databases in AUTO mode.

Column data types can be modified for shard keys.

Some DDL statements are supported on archived tables.

The new sequence feature and its performance are optimized. For more information, see New Sequence.

The efficiency of returning large result sets is optimized.

Deprecate EOF is supported for the MySQL communication protocol.

Permission control is optimized. Only privileged accounts can execute the SET GLOBAL statement to configure and validate global variables.

The recursive CTE feature is added. For more information, see CTE.

The table groups with balance_single_table=on specified can be automatically dispersed during rebalance.

Hot partition splitting is supported for subpartitioned tables.

The GB18030 character sets are added, including collation gb18030_chinese_ci and collation gb18030_bin (non-default).

The logic for disabling DDL statements is optimized in archived tables.

Fixed issue

The following issue is fixed: The DATE_FORMAT() function behaves inconsistently on compute nodes and data nodes.

The following issue is fixed: An error occurs when the EXPLAIN PHYSICAL statement is executed in tp_local mode.

The following issue is fixed: Incorrect results may be returned when the IN query list contains expressions or variables.

The following issue is fixed: An error occurs when the optimizer converts aggregate functions in specific scenarios.

The following issue is fixed: The error message indicating that the table does not exist is returned when you perform a cross-database query.

The following issue is fixed: An error occurs when the ALTER TABLE ADD CONSTRAINT UNIQUE KEY statement is executed, and the statement cannot be rolled back.

The following issue is fixed: The fields whose names contain escape characters are not completely displayed when the SHOW CREATE TABLE statement is executed.

The following issue is fixed: An error occurs when the match template for the LIKE clause in a join condition is a column.

Release date: 2023-04-28

Major version: V5.4.16

Minor version: 16825599

Category

Description

New and optimized features

The execution plan for joining <=> conditions in specific scenarios is optimized.

The RENAME TABLE statement can be used to rename multiple tables at a time. For more information, see RENAME TABLE.

The CN_GROUP_CONCAT_MAX_LEN parameter is added to change the group concat behavior of compute nodes.

Fixed issue

The following issue is fixed: An error occasionally occurs for innodb_lock_waits view queries.

The following issue is fixed: After the SET GLOBAL statement is executed for variables at the storage layer, an error occurs for another query in the same session in specific scenarios.

The following issue is fixed: Data migration may fail when a table contains large fields.

The following issue is fixed: When the optimizer selects incorrect indexes during batched key access (BKA) joins, the execution plan is not optimal.

The following issue is fixed: An NPE error occurs when the INSERT statement is executed on a broadcast table during a scale-out.

The following issue is fixed: A full table scan fails when partitions are altered.

The following issue is fixed: If a parameter is set to a negative value, the parameter cannot be applied in a subquery.

The following issue is fixed: Incorrect results are occasionally returned when decimal values are summed.

The following issue is fixed: When an SQL statement that contains hints is executed in a specified shard of a data node, an error occurs in scenarios not for pushdown.

The following issue is fixed: When you migrate data from a GSI table, the migration may fail due to data inconsistency.

The following issue is fixed: Data migration may fail when a table has a long name.

The following issue is fixed: Table names and database names cannot contain hyphens (-).

The following issue is fixed: The "Sql could not be implemented" message is returned when you perform ORDER BY queries on window functions.

The following issue is fixed: The return data type of AES_DECRYPT is binary.

The following issue is fixed: When multiple tables are joined, the join operation is not performed based on the specified join order (parenthesis).

The following issue is fixed: If the new sequence metadata is not changed when a table is being created, the table cannot be created.

Release date: 2023-04-11

Major version: V5.4.16

Minor version: 16809623

Category

Description

New and optimized features

The read committed (RC) isolation level is provided for reading secondary databases in XA transactions.

The logic for modifying the expiration time of a TTL table is optimized.

Fixed issue

The following issue is fixed: DDL statements cannot be executed when column names are associated between multiple CHANGE COLUMN clauses or index names are associated between multiple RENAME INDEX clauses in the ALTER TABLE statement.

The issue of hyphen compatibility in stored procedures is fixed.

The following issue is fixed: The error message indicating that the primary key does not exist is returned for some agg queries in TSO transactions.

The following issue is fixed: Inconsistent data may be read in consistent reads of the secondary database in TSO transactions.

The following issue is fixed: Rawstring pruning fails for a database in DRDS mode.

The NPE issue where null values are processed in TopN statistics is fixed.

The following issue is fixed: The rawstring value type is not correctly obtained in the DynamicValues executor.

The following issue is fixed: The DDL statement times out after it is executed on a physical shard for 900 seconds when a proprietary protocol is used.

The following issue is fixed: The DDL statement may fail to be executed when you execute the CONTINUE statement after the PAUSE DDL statement during data migration.

Release date: 2023-03-22

Major version: V5.4.16

Minor version: 16791337

Category

Description

New and optimized features

The thread pool and timeout period of the LSN fetch feature can be adjusted.

The logic of the index recommendation feature is optimized to prevent indexes from being recommended when statistics are missing and index selectivity is low.

Fixed issue

The following issue is fixed: Data migration fails in JDBC mode.

The following issue is fixed: An error occurs when the ALTER TABLE ADD CONSTRAINT UNIQUE KEY statement is executed, and the statement cannot be rolled back.

The following issue is fixed: During the iteration of correlated subqueries, the next correlated items cannot be found.

The following issue is fixed: During data migration, the migration speed may decrease due to conflicts.

The following issue is fixed: The fields whose names contain escape characters are not completely displayed when the SHOW CREATE TABLE statement is executed.

The following issue is fixed: A large amount of CPU resources are consumed when the statistics module contains excessive expressions.

The following issue is fixed: An error occurs when join operations on non-partitioned tables are incorrectly pushed down after the tables are partitioned in a database that is partitioned in AUTO mode.

Release date: 2023-03-02

Major version: V5.4.16

Minor version: 16773973

Category

Description

New and optimized features

SQL statements can be executed on a specified shard of a data node.

The semantics of the LAST_INSERT_ID() function is optimized to be consistent with that in MySQL.

A switch is added to display database names and table names in lowercase. By default, this switch is turned off.

An O&M time window can span multiple days. The start time of an O&M time window on the first day can be later than the end time of the O&M time window on the last day.

Fixed issue

Statistics on the execution duration of physical SQL statements are incorrect, resulting in some physical SQL statements being incorrectly identified as slow queries.

The following issue is fixed: The CPU utilization increases due to batch insert operations that are performed by using prepared statements.

The following issue is fixed: When the ALTER TABLE DROP COLUMN statement is executed, the table may fail to be accessed.

For tables that are partitioned based on the primary key, the default number of partitions for a GSI is changed from the instance level to the table level.

The following issue is fixed: An error occurs when you perform flashback queries in special scenarios.

The following issue is fixed: An error occurs when the number of connections at the backend based on the PolarDB-X proprietary protocol is insufficient.

The following issue is fixed: An implicit type conversion is incorrectly processed when a negative number is written to a partition key of the VARCHAR type.

The following issue is fixed: A lookup key error occurs in a database that is partitioned in AUTO mode when you perform a BKA join operation on tables that contain a GSI.

The following issue is fixed: Scaling fails in a database that is partitioned in DRDS mode.

The following issue is fixed: The TTL feature is disabled after the RENAME TABLE statement is executed on a TTL table.

The following issue is fixed: The execution plans in the plan cache and baseline are not removed when databases and tables are deleted.

The following issue is fixed: A permission error occurs when the ALTER statement is executed to split the partitions of a table that contains a GSI.

The following issue is fixed: An invalid execution plan is generated when multiple tables are joined based on a shard key in a database that is partitioned in DRDS mode. This is because the system does not distinguish between database shard keys and partition keys.

The following issue is fixed: The permission verification fails when the ANALYZE TABLE statement is executed across databases.

The following issue is fixed: An execution plan fails to be created when the system materializes a subquery and estimates that the number of rows to be queried is 500.

The following issue is fixed: A suspension error occurs with a small probability when you query a table that is used to archive the data.

The following issue is fixed: The CREATE TABLE LIKE statement is supported only for the specified storage locations.

The following issue is fixed: The ALTER TABLE… CONVERT TO CHARACTER SET… statement is not supported.

The following issue is fixed: Some requests time out due to a deadlock error based on the PolarDB-X proprietary protocol in scenarios where compute nodes are under high load. This deadlock error occurs with a small probability.

The following issue is fixed: The connection is unstable because failure detection based on the PolarDB-X proprietary protocol has a latency of 10 minutes.

The following issue is fixed: The failure detection connection may be closed when a large packet is transmitted based on the PolarDB-X proprietary protocol.

The following issue is fixed: The LENGTH function incorrectly parses a binary string as the length of a parameter.

The following issue is fixed: The "Query execution was interrupted" error message incorrectly appears when you use JDBC.

Release date: 2023-03-02

Major version: V5.4.15

Minor version: 16774576

Category

Description

Fixed issue

The following issue is fixed: A lookup key error occurs in a database that is partitioned in AUTO mode when you perform a BKA join operation on tables that contain a GSI.

The following issue is fixed: An error occurs when the number of connections at the backend based on the PolarDB-X proprietary protocol is insufficient.

The following issue is fixed: Some requests time out due to a deadlock error based on the PolarDB-X proprietary protocol in scenarios where compute nodes are under high load. This deadlock error occurs with a small probability.

The following issue is fixed: A suspension error occurs with a small probability when you query a table that is used to archive the data.

The following issue is fixed: The failure detection connection may be closed when a large packet is transmitted based on the PolarDB-X proprietary protocol.

The following issue is fixed: An invalid execution plan is generated when multiple tables are joined based on a shard key in a database that is partitioned in DRDS mode. This is because the system does not distinguish between database shard keys and partition keys.

The following issue is fixed: The TTL feature is disabled after the RENAME statement is executed on a TTL table.

The following issue is fixed: An implicit type conversion is incorrectly processed when a negative number is written to a partition key of the VARCHAR type.

The following issue is fixed: An execution plan fails to be created when the system materializes a subquery and estimates that the number of rows to be queried is 500.

The following issue is fixed: The connection is unstable because failure detection based on the PolarDB-X proprietary protocol has a latency of 10 minutes.

The following issue is fixed: The ALTER TABLE… CONVERT TO CHARACTER SET… statement is not supported.

The following issue is fixed: The permission verification fails when you execute the ANALYZE TABLE statement across databases.

Release date: 2023-01-14

Major version: V5.4.15

Minor version: 16734908

Category

Description

Fixed issue

The following issue is fixed: When the ALTER TABLE DROP COLUMN statement is executed, the table may fail to be accessed.

For tables that are partitioned based on the primary key, the default number of partitions for a GSI is changed from the instance level to the table level.

The semantics of the LAST_INSERT_ID() function is optimized to be consistent with that in MySQL.

Release date: 2022-12-27

Major version: V5.4.16

Minor version: 16717637

Category

Description

New and optimized features

The CREATE DATABASE LIKE/AS statement is supported. This statement allows you to change the mode of a database from DRDS to AUTO with ease.

OSS backfilling is supported for concurrent data migration on multiple nodes.

User-defined functions (UDFs) are supported.

The Rebalance policy for rebalancing partitions is added. By default, this policy is enabled for data redistribution when you scale an instance.

The following partitioning functions are supported: substr, dayofmonth, dayofweek, dayofyear, to_months, and to_weeks.

The CHECK TABLE statement can be used to verify local indexes.

The useCursorFetch=true parameter is added to JDBC connection strings. If this parameter is set to true, query results are cached on a server. In this case, the server returns several records to a client at a time instead of returning all query results to the client.

The memory consumption of optimizers in most scenarios or queries is optimized.

The stability during data migration is optimized. This reduces the impact on business.

The data migration efficiency is optimized.

The substr and substring functions are supported for VARCHAR and CHAR fields in partitioned tables.

Fixed issue

The following issue is fixed: The TableScanExec function occasionally stops running in scenarios in which the MergeSort operator is used.

The following issue is fixed: If a primary table contains a GSI, the primary table cannot be renamed.

Redundant local indexes on GSIs in a database that is partitioned in AUTO mode are reduced.

The following issue is fixed: An error occurs when a window function is run in MPP query mode.

The following issues are fixed: Incorrect results are returned by the YEAR function if the input parameter type is TINYINT, and types are incorrectly compared in a join condition.

The following issue is fixed: Unexpected results are returned by the AES_ENCRYPT() and AES_DECRYPT() functions.

Release date: 2022-12-23

Major version: V5.4.15

Minor version: 16715927

Category

Description

New and optimized features

BINARY and VARBINARY types are supported for partition keys in a database that is partitioned in AUTO mode.

The semantics of the LAST_INSERT_ID() function is optimized to be consistent with that in MySQL.

Fixed issue

The following issue is fixed: An error occurs when the REPLACE or UPSERT statement is executed on a table that contains columns of the JSON type.

The following issue is fixed: The computing results of the found_rows function are incorrect in stored procedures.

The following issue is fixed: If column names are in uppercase, the largest or smallest N data records are not included in the statistics.

The following issue is fixed: When the ALTER TABLE statement is executed to rebuild a composite primary key and delete specific primary key columns, the DDL task may fail and cannot be resumed or rolled back.

The following issue is fixed: A NULL string is returned when the json_extract function is run to extract attributes that do not exist.

Release date: 2022-12-13

Major version: V5.4.15

Minor version: 16704996

Category

Description

New and optimized features

The error message returned and the logs generated when an SQL statement fails to be parsed or is incorrectly parsed are optimized.

The partition hint feature is supported to execute multiple SQL statements at a time on a single partition.

Privileged users can close connections that are established by other users.

Fixed issue

The following issue is fixed: If the shard key of a GSI table is not a primary key, the equal-to (=) operator is changed to the NULL-safe equal-to (<=>) operator in the equality condition used to generate the shard key. The following issue is fixed: The NULL-safe equal-to (<=>) operator prevents IN queries that include the shard key from being constructed for BKA join operations. In this case, partition pruning does not take effect and all shards are scanned.

The following issue is fixed: The UPSERT statement does not update the value that is returned by the CURRENT_TIMESTAMP function in specific cases.

The following issue is fixed: An error occurs when specific semi-join operations that involve GSIs are performed.

The following issue is fixed: The table-level permissions of specific DAL statements, including SHOW TABLES, SHOW TOPOLOGY FROM, and ANALYZE TABLE, are incorrect.

The following issue is fixed: A syntax error occurs if the host parameter in the SET PASSWORD statement is left empty.

The following issue is fixed: An NPE error occurs if the value of a raw string includes the NULL value.

The following issue is fixed: The ALTER TABLE REMOVE PARTITIONING statement fails to be executed if the primary key is the same as the shard key.

The following issue is fixed: During data migration, the migration speed may decrease due to unexpected primary key conflicts.

The following issue is fixed: When a large number of data nodes work in the high availability (HA) architecture, the nodes may not run smoothly and may fail.

The following issue is fixed: Decimal values are handled incorrectly when the SUM aggregate function is run.

The following issue is fixed: The ENABLE_BACKGROUND_STATISTIC_COLLECTION configuration does not take effect for statistics samples.

The following issue is fixed: Sharding-JDBC fails to access data because implicit primary keys are exposed when the SHOW FULL COLUMNS statement is executed.

Release date: 2022-11-27

Major version: V5.4.15

Minor version: 16694249

Category

Description

New and optimized features

The error message returned for the PolarDB-X proprietary protocol in case of a timeout error in a transaction is optimized.

Fixed issue

The following issue is fixed: The network protocol layer of the PolarDB-X proprietary protocol is disconnected unexpectedly in a poor network environment.

The following issue is fixed: In MPP query mode, deserialization failures often occur in read-only instances.

The following issue is fixed: An error is returned when SQL_SELECT_LIMIT is set to default.

Release date: 2022-11-21

Major version: V5.4.15

Minor version: 16687348

Category

Description

New and optimized features

The query logic that uses aggregate functions under Timestamp Oracle (TSO) transactions is optimized.

The error message returned when the ALTER TABLE statement fails to be parsed or is incorrectly parsed is optimized.

The logic for selecting global indexes is optimized to reduce the tendency of selecting global indexes.

Generated columns are not supported when a table is created or modified.

The performance of the mapToList function in JDBC mode is optimized.

The rowcount collection speed is optimized when the ANALYZE TABLE statement is executed or the scheduled task STATISTIC_ROWCOUNT_COLLECTION is run.

Fixed issue

The following issue is fixed: Data rows whose primary key value is "0000-00-00 00:00:00" cannot be updated by using JDBC on a table that contains a GSI.

The following issue is fixed: The sample table of scheduled statistics tasks is not synchronized.

The following issue is fixed: A sample task cannot be initiated due to a bug in the expiration determination logic.

Release date: 2022-11-02

Major version: V5.4.15

Minor version: 16668369

Category

Description

New and optimized features

In read/write splitting scenarios, the LSN can be obtained by using the grouping method.

Fixed issue

The following issue is fixed: The uuid and uuid_short functions perform calculation only once.

The following issue is fixed: An unexpected error occurs or DDL tasks are left unfinished because an incorrect completion status of physical sharding is determined by the DDL engine when tasks time out or are suspended.

The following issue is fixed: Pruning operations cause high CPU utilization.

The following issue is fixed: The memory usage of compute nodes is high due to incorrect results returned by the rowcount operation on the sample table when the ANALYZE TABLE statement is executed.

The following issue is fixed: The spm params parameter is not cleaned up properly in high concurrency scenarios.

The following issue is fixed: Incorrect results are returned by aggregate functions when the setting of the SQL_SELECT_LIMIT variable is sent to data nodes.

The following issue is fixed: The number of distinct values (NDV) of indexes is not processed when the ANALYZE TABLE statement is used to collect statistics on a table that is in an abnormal state.

The following issue is fixed: Physical tables cannot be found after the RENAME statement is executed. This applies only to logical tables that do not have a random suffix of physical tables in databases that are partitioned in AUTO mode.

Release date: 2022-10-19

Major version: V5.4.15

Minor version: 16660526

Category

Description

New and optimized features

The memory usage of archived tables can be viewed.

The partitions of a table can be moved when the table is bound to an archived table.

When an account is created, the password policy of ApsaraDB RDS for MySQL is supported in the default password policy.

The logic for creating indexes on time-based columns for tables that are partitioned based on the primary key is optimized. By default, local indexes are created, instead of GSIs.

The process of failure detection based on the PolarDB-X proprietary protocol is optimized to prevent a connection from being closed when a session cannot be created.

Fixed issue

The following issue is fixed: When the AUTO_INCREMENT attribute of a column in a non-partitioned table of a database that is partitioned in DRDS mode is changed by using the ALTER TABLE statement, the sequence is automatically associated.

The following issue is fixed: A type matching error occurs when the list order specified in the UPSERT statement is different from the order in the table.

The following issue is fixed: No error message is returned when the KILL CONNECTION statement fails to be executed.

The following issue is fixed: Permission verification fails when the information_schema database is queried multiple times by using prepared statements.

The following issue is fixed: A data node deadlock may occur if a large number of transactions are suspended and the maximum number of data node sessions is reached when distributed transactions are resumed.

Release date: 2022-09-30

Major version: V5.4.15

Minor version: 16642369

Category

Description

New and optimized features

The permission system table of the information_schema database is compatible with MySQL.

Fixed issue

The following issue is fixed: An error occurs when a view in the information_schema database is queried.

The following issue is fixed: An error occurs when the character set specified in the LOAD DATA statement is not enclosed in quotation marks.

The following issue is fixed: The INSERT ON DUPLICATE KEY UPDATE statement is not supported in mock mode.

The following issue is fixed: The unique global index may be inconsistent with data in the base table when the unique global index is created or when data is migrated.

The following issue is fixed: The results of point queries where partition keys are used in the condition clause may be incorrect when data is written in parallel to databases that are partitioned in the AUTO mode.

Release date: 2022-09-20

Major version: V5.4.15

Minor version: 16635539

Category

Description

New and optimized features

Auto-split is supported for partitions.

Auto-split O&M is supported.

Stored procedures are supported. For more information, see Stored procedures.

The partitions of partitioned tables can be modified. For more information, see Use ALTER TABLE to modify table partitions (AUTO mode).

The KILL CONNECTION statement is supported.

Kernel permissions are supported. The complexity and validity period of a password can be configured and checked.

The IN values of a BKA join operation in a partitioned table in a database that is partitioned in AUTO mode can be clipped.

The logon and logoff of users can be audited. By default, this feature is disabled.

Online Modify Column (OMC) is supported. For more information, see Modify column types online.

Samples can be collected when the statistics feedback feature is used.

Auto-split is supported for heatmaps.

The default size of a plan cache is changed from 2,000 MB to 4,000 MB. By default, the statistics feedback feature is disabled.

The data migration speed is optimized when a GSI is created, scaling is performed, or a partition is modified.

The comparison logic is optimized for DML statements in new partitioned tables.

The performance of UPSERT under specific conditions is optimized.

The logic for configuring a global variable by using the SET GLOBAL statement is optimized to reduce overheads.

Fixed issue

The following issue is fixed: The Base64-encoded string that is returned by the to_base64 function is incorrect.

The following issue is fixed: In specific scenarios, operations are pushed down unexpectedly for window functions.

The following issue is fixed: If the system passes an execution plan based on the PolarDB-X proprietary protocol, the index in the results returned by the EXPLAIN EXECUTE statement does not match the actual index.

The following issue is fixed: In specific scenarios, operations are pushed down unexpectedly for functions that cannot be pushed down.

The following issue is fixed: An error occurs when the CREATE USER statement that does not contain a host is executed.

The following issue is fixed: An error occurs in parsing escape characters for the JSON_QUOTE function that cannot be pushed down.

The following issue is fixed: An NPE error occurs when a metadata lock (MDL) is obtained.

The following issue is fixed: The "array index out of bounds" error occurs when the HashGroupJoin operator is used.

The following issue is fixed: The aes_encrypt function returns unexpected results.

The following issue is fixed: An error occurs when you query partitions by using covered indexes.

The following issue is fixed: Pruning is unavailable for IN queries in archived tables.

The following issue is fixed: Under specific conditions, window functions return incorrect results.

The following issue is fixed: When a shard key in a database that is partitioned in DRDS mode is changed, the table name is case-sensitive.

The following issue is fixed: The DELAY INIT cannot be executed for a full table scan on a database that is partitioned in AUTO mode.

Release date: 2022-09-02

Major version: V5.4.14

Minor version: 16619918

Category

Description

Fixed issue

The following issue is fixed: The table names in subqueries in the UPDATE statement executed on non-partitioned tables are incorrectly replaced when the operation is pushed down.

The following issue is fixed: An NPE error occurs when multiple tables are used in the UPDATE statement.

The following issue is fixed: The JSON operator -> is parsed incorrectly in expressions.

The following issue is fixed: An error occurs if context is not passed when the APPLY operator is used in some subqueries.

The following issue is fixed: Some shards are missing in the query of table shards created with the YYYYWEEK function within a closed interval.

Release date: 2022-08-15

Major version: V5.4.14

Minor version: 16601976

Category

Description

Fixed issue

The following issue is fixed: Read/write splitting does not work in read-only transactions.

The following issue is fixed: The data synchronized by Data Transmission Service (DTS) is garbled.

The following issue is fixed: The auto savepoint feature may release the savepoint that is specified by a user.

The following issue is fixed: An SQL error occurs when a rebalance task is triggered to update system tables.

The following issue is fixed: The processing of redundant parameters in JDBC mode causes high CPU utilization when the PolarDB-X proprietary protocol is used.

The following issue is fixed: By default, the SPM feature is disabled.

The following issue is fixed: Data of the BINARY type is incorrectly processed when the UPDATE statement is executed.

Release date: 2022-08-01

Major version: V5.4.14

Minor version: 16590002

Category

Description

New and optimized features

Cold data archiving is supported.

The ALTER TABLE PARTITIONS statement is supported. This statement can be used to modify the number of partitions in the base table and the GSI table. This applies only to tables that are partitioned based on the primary key in a database that is partitioned in AUTO mode.

User-defined variables can be used in expressions.

Dynamic partition pruning is supported for partitioned tables based on partition conditions that contain scalar subqueries.

Scheduled tasks for TTL tables can be paused.

A default partition is supported for list-partitioned tables.

The OPTIMIZE TABLE statement is implemented by using the new DDL engine.

Custom variables are supported in TextPrepare mode.

The error message returned when the default local index is deleted from a table partitioned based on the primary key is optimized.

The concurrency and performance of read/write operations on a physical partition in a database that is partitioned in AUTO mode are optimized.

Fixed issue

The following issue is fixed: Incorrect query results are returned in queries of LIST-type partitions by using the MONTH partitioning function.

Concurrency security risks upon the removal of subqueries are eliminated.

The following issue is fixed: DDL execution fails when the CDC component is started.

The logic for the ALTER TABLE REMOVE PARTITIONING statement is fixed for a database that is partitioned in AUTO mode. The statement is used to convert a partitioned table to a table partitioned based on the primary key, instead of converting a partitioned table to a non-partitioned table.

The following issue is fixed: PolarDB-X is incompatible with the metadata of primary keys configured in Navicat.

The following issue is fixed: The SHOW STATUS statement returns an empty view.

The following issue is fixed: An NPE error is thrown by ExplainOptimizer when INSERT statements are used in a database that is partitioned in AUTO mode.

The following issue is fixed: An error occurs when an incorrect physical database is selected and a join between a broadcast table and a non-partitioned table is pushed down in a database that is partitioned in AUTO mode.

Release date: 2022-07-14

Major version: V5.4.14

Minor version: 16576195

Category

Description

Fixed issue

The following issue is fixed: Errors and potential correctness issues can occur in transactions when an IN expression is used for partition pruning.

The following issue is fixed: The DROP CLUSTERED GSI statement fails to be executed. When a GSI is created for a table that is not partitioned based on the primary key, no local index is automatically added to an existing clustered GSI.

The following issue is fixed: When the MONTH partitioning function is used, an incorrect result is returned for a range query.

The following issue is fixed: Tables that contain LOCAL FULLTEXT KEY cannot be truncated.

Release date: 2022-06-28

Major version: V5.4.14

Minor version: 16563827

Category

Description

New and optimized features

The timeout period for failure detection based on the PolarDB-X proprietary protocol can be adjusted.

Fixed issue

The following issue is fixed: The ALTER TABLE MODIFY AFTER statement fails to be executed.

The following issue is fixed: A compatibility issue occurs when cachePrepStmts and useServerPrepStmts are enabled for the JDBC driver of MySQL 8.0.

The following issue is fixed: An error occurs when a transaction policy is set to Best Effort Delivery (BED). PolarDB-X 2.0 does not support the BED transaction policy.

The following issue is fixed: If you use a constant expression as a partition key, the syntax verification is missing and the table fails to be created.

The following issue is fixed: The value does not change when the current timestamp is used in the same session.

The following issue is fixed: Queries are frozen or slow due to an internal logic conflict between the business SQL and the PolarDB-X proprietary protocol on the session management interface.

Release date: 2022-06-21

Major version: V5.4.14

Minor version: 16556932

Category

Description

Fixed issue

The following issue is fixed: Metadata fails to be processed when the ALTER TABLE statement is executed to change the names of columns to special characters.

The following issue is fixed: The sum(bigint unsigned) function returns data of incorrect data types.

Release date: 2022-06-09

Major version: V5.4.14

Minor version: 16547447

Category

Description

New and optimized features

The memory usage of the scan operator in a streaming merge sort is optimized.

Fixed issue

The following issue is fixed: In MPP mode, the system does not use shuffle joins to perform outer join operations.

The following issue is fixed: A non-partitioned table cannot be pushed down in a database that is partitioned in AUTO mode.

The following issue is fixed: The optimizer reports an error when the optimizer attempts to convert an IN statement to a subquery in prepare mode.

The following issue is fixed: In MPP mode, the query result of a UNION DISTINCT query is incorrect.

The following issue is fixed: An NPE error is reported when a sequence in a read-only instance fails to be initialized.

The following issue is fixed: The system fails to match tables for SQL request throttling if the names of the tables are enclosed in grave accents (`).

The following issue is fixed: Sharding Advisor reports NPE errors in the What-If Analysis phase.

Release date: 2022-06-02

Major version: V5.4.14

Minor version: 16539836

Category

Description

New and optimized features

The NEW sequence type is supported. NEW sequences are globally unique, monotonically increasing, and high-performing. For more information, see New sequences.

The locality management feature is supported. In AUTO mode, the LOCALITY attribute can be specified when databases, table groups, tables, and partitions are created. The locality of a table group or partition group can also be dynamically modified. For more information, see Use the LOCALITY attribute to specify data nodes (AUTO mode).

The logic for repartitioning tables that are automatically partitioned is optimized. When ALTER PARTITION statements are executed on tables that are automatically partitioned to repartition the tables, GSIs are converted to local indexes.

The error message returned is optimized in the following scenario: The required partitions are not found for backfilling data when a GSI is created or a partition is modified.

The sharding method recommendation feature is provided by Sharding Advisor. Sharding Advisor provides a recommended sharding method for shading tables based on the workload of the current database.

By default, a global variable that is configured by using the SET GLOBAL statement is enabled.

Heatmaps that are used to display the statistics of data in partitions are provided. For more information, see Heatmap.

MDLs are provided for table groups. This resolves metadata deadlock issues that occur during data synchronization between tables.

Automatic rollback for failed DML statements is supported. This feature does not affect the execution of subsequent DML statements.

The memory management model that is used for scenarios in which dynamic parameters are specified in IN statements is optimized.

The INSERT OVERWRITE statement is supported.

Hexadecimal strings are supported in CREATE PARTITION TABLE statements.

Multiple table groups that use the same partitioning method can be merged into a table group, and multiple tables that use the same partitioning method can be added to a table group. For more information, see ALTER TABLEGROUP and Merge table groups (AUTO mode).

The deadlock detection feature is supported for databases that run MySQL 8.0.

Cursors are supported on the server side.

Logical names of GSIs can be used to specify table groups. Example: alter table t1.g1 set tablegroup=#tg.

A query can be performed on the base table and the GSI table at the same time, and the system queries data in the base table based on the row IDs of indexes.

The execution performance of INSERT, UPDATE, DELETE, and SELECT statements is optimized.

The SQL query optimization feature is optimized. The optimizer does not generate excessive execution plans for statements that include IN expressions. This helps reduce memory usage and workloads on the plan cache.

The permission verification process is optimized.

The restriction that custom tables cannot use the names reserved for system tables is removed.

The logic for running DDL tasks is optimized. After a DDL task is started, the task is not added to the task queue. The task is immediately run.

The DDL historical data archive feature is supported.

The STATEMENTS_SUMMARY and STATEMENTS_SUMMARY_HISTORY metadatabase tables are supported. For more information, see Metadatabases and data dictionaries.

Fixed issue

The following issue is fixed: The syntax that is used to specify aliases in HAVING clauses in physical SQL statements is incorrect.

The following issue is fixed: In read/write splitting scenarios, read queries cannot be routed to the primary database when the log replication thread is interrupted.

The following issue is fixed: When SQL request throttling is triggered and requests are rescheduled for execution, the system does not return an error to the client after an error occurs. In these scenarios, the value of the wait_queue_size parameter is greater than 0 and statements are executed without waiting in a queue. This issue causes the client to be blocked.

The following issue is fixed: HyperLogLog (HLL) does not collect the point in time when table sharding is performed.

Jetty is updated to V205. This helps prevent off-heap memory leaks during MPP RPC operations. Earlier versions of Jetty may cause off-heap memory leaks during MPP RPC operations.

The following issue is fixed: Lock wait timeout issues occur when the system records the status of the physical DDL during the running of a DDL task.

The following issue is fixed: Errors are reported when strings are transmitted based on the PolarDB-X proprietary protocol by using connections that do not use the UTF-8 encoding format.

The following issue is fixed: The result of the SHOW DDL statement is empty or incomplete after the TRACE DDL statement is executed.

The following issue is fixed: The SHOW RULE statement cannot be executed on partitioned tables that are created in databases that are partitioned in AUTO mode.

The following issue is fixed: After new columns are added and new indexes are created, the metadata of the indexes is missing.

The following issue is fixed: After columns in a table are updated by using the RENAME TABLE or ALTER TABLE statement, statistics are cleared.

The following issue is fixed: Updates of comparative objects cause execution plan changes.

The following issue is fixed: The column names that are returned by the SHOW COLUMNS statement and the returned names of the columns that are specified by using the DESC keyword are all uppercase letters.

The following issue is fixed: Information about the primary key is not included in the global unique indexes of a database that is partitioned in AUTO mode.

The following issue is fixed: Table names that are included in tags that are generated by the CDC component are different from the names of the corresponding tables.

The following issue is fixed: When a statement that includes an IGNORE INDEX clause is executed on a database that is partitioned in AUTO mode, GSIs are pushed down for execution.

Release date: 2022-05-16

Major version: V5.4.13

Minor version: 16526725

Category

Description

New and optimized features

The error message returned when a fatal error occurs in connections based on the PolarDB-X proprietary protocol is optimized.

The feature of the KILL ALL statement is optimized. When the KILL ALL statement is executed to close backend connections, the connections that are being used to process requests are not closed.

Fixed issue

The following issue is fixed: After the metadata of a table is modified by using Index Advisor, the table becomes unavailable.

The following issue is fixed: Data may be modified after the UPDATE statement is executed on a table that contains a GSI.

The following issue is fixed: When the implicit primary key of an unique global secondary index (UGSI) is the same as the shard key of the table, the system removes the implicit primary key of the UGSI.

Release date: 2022-04-21

Major version: V5.4.13

Minor version: 16504348

Category

Description

Fixed issue

The error message returned when the syntax of DDL statements that are used to change sharding rules or partitioning rules is incorrect is optimized.

The following issue is fixed: When an INSTANT ADD COLUMN clause is executed to add columns to a table, the columns are reordered after the INSERT operation is pushed down to the data node layer for execution.

The following issue is fixed: The instance topology information that is generated by CDC is incorrect in the Truncate Table With RecycleBin scenario.

Release date: 2022-04-15

Major version: V5.4.13

Minor version: 16499071

Category

Description

New and optimized features

The automatic restart feature is supported for compute nodes. After an out of memory (OOM) error occurs, the system automatically restarts the compute node.

Fixed issue

The following issue is fixed: If the data volume is large and the data cardinality is low, BKA join operations that are performed on the same objects may return different results.

The following issue is fixed: If the system passes an execution plan based on the PolarDB-X proprietary protocol and the length of a value that is returned by a point query based on indexes exceeds the length limit of the corresponding field, the system truncates the value. As a result, the system returns an incorrect value.

The following issue is fixed: If you specify a condition that includes the not-equal-to operator in a statement, the system may return an incorrect result.

Release date: 2022-04-08

Major version: V5.4.13

Minor version: 16493698

Category

Description

Fixed issue

The following issue is fixed: information_schema.processlist collects information about the sessions of read-only instances.

Release date: 2022-04-02

Major version: V5.4.13

Minor version: 16487873

Category

Description

New feature

The binary encoding feature is optimized.

New types of hints are supported. The system may fail to execute specific DDL statements on physical tables. In these scenarios, you can use hints to perform the required operations.

The logic for distributed deadlock detection is optimized.

The level at which the CLEAR SLOW statement is executed is changed from the schema level to the instance level.

Information about data nodes and physical databases is returned when a SHOW statement is executed on a partitioned table.

The global timestamp service for distributed transactions is optimized. Shorter timeout periods and more retries are allowed.

Fixed issue

The following issue is fixed: When the SHOW CREATE TABLE statement is executed on a partitioned table, the system returns a syntax error if the partition names that are specified in the CREATE TABLE statement consist of only digits and these partition names are specified without grave accents (`).

The following issue is fixed: The system returns errors when authorization operations are performed in the console.

The following issue is fixed: HA check for data nodes may be hung during a scale-in operation.

The following issue is fixed: When the PolarDB-X proprietary protocol is used and the values of multiple session parameters are changed, queries may fail.

The following issue is fixed: When a lookup join operation is performed on partitioned tables, the performance may deteriorate because duplicate partition pruning plans are generated.

The following issue is fixed: DML statements cannot be used to query required data from specified partitions in partitioned tables.

Release date: 2022-03-14

Major version: V5.4.13

Minor version: 16462728

Category

Description

New feature

Tables that contain GSIs and do not contain a primary key can be created.

Fixed issue

The following issue is fixed: When the PolarDB-X proprietary protocol is used, deadlock issues may occur if the connection to the backend is closed.

The following issue is fixed: When the PolarDB-X proprietary protocol is used, the system may not return a response to the frontend if the system does not obtain data.

The following issue is fixed: An error occurs when HLL operations are performed based on non-index key columns.

The following issue is fixed: If the size of the table on which a DDL operation is performed exceeds 16 MB, the request cannot be committed.

The following issue is fixed: The system fails to recognize grave accents (`) used in the values of the CHARACTER SET and COLLATE parameters.

The following issue is fixed: Database shards are stored in an incorrect order if you use a globally unique index together with the UNIQUE constraint to partition a database.

The following issue is fixed: In MPP mode, a query fails when the result returned for partition pruning is empty.

The following issue is fixed: A memory leak occurs in the MetaDB connection pool when a SCHEMATA table is queried.

Release date: 2022-01-07

Major version: V5.4.13

Minor version: 16415631

Category

Description

New feature

The mode in which tables are created can be specified when a database is created. The partitioning and sharding modes are supported. By default, the sharding mode is used. For information about the specific syntax, see CREATE DATABASE.

The MySQL syntax for partitioning tables can be used to create a partitioned table that contains only partitions. The following partitioning policies are supported: HASH, RANGE, and LIST. For more information, see Partitioning methods.

The dynamic partition pruning feature is supported for partitioned tables. This feature can be used to perform operations such as constant folding for partitioning conditions, interval merging, and query pruning based on prefixes.

Join operations on partitioned tables can be pushed down.

The partition management feature is supported for partitioned tables. Partitions can be added, removed, split, merged, and migrated. For more information, see ALTER TABLEGROUP.

The table grouping feature and table group management feature are supported. Table groups can be created, deleted, and modified. The process in which join operations are pushed down is not affected during the partition update process. For more information, see ALTER TABLEGROUP.

The MySQL syntax for table partitioning can be used to partition GSI tables by using the HASH, RANGE, or LIST partitioning method. For more information, see CREATE INDEX (AUTO mode).

The table partitioning syntax can be used to configure automatic sharding. For more information, see Automatic sharding.

Sharding can be performed on partitioned tables. For more information, see Automatic sharding in automatic partitioning mode.

When automatic sharding is performed on the GSI table of a new partitioned table, the primary key of the partitioned table is used as the shard key. This can help you resolve issues that are caused by hot GSIs.

Scale-out and scale-in operations are supported for instances.

The TTL feature and TTL management feature are supported for partitioned tables. The start time and the TTL value of a resource can be changed. For more information, see What is a TTL table?

Broadcast tables are supported by SQL Advisor.

The INSTANT ADD COLUMN feature is supported.

All information that is required by the optimizer to optimize SQL queries can be obtained after the EXPLAIN STATISTICS statement is executed.

The SHOW [GLOBAL|LOCAL] DEADLOCKS statement can be used to query information about the most recent deadlock issue.

The optimization scope of the cost-based optimizer (CBO) is limited to help reduce the period of time that is required by the system to optimize complex queries.

Optimized feature

The execution process of the CHECK TABLE statement is optimized to verify metadata consistency for the definitions of base table partitions, index table partitions, and columns.

The performance of data verification tasks is optimized for specific DDL operations at the backend to accelerate GSI modification operations and DDL operations for instance scaling.

Fixed issue

The following issue is fixed: Null pointers and sorting errors occur when heuristic join reorder operations are performed.

The following issue is fixed: RelNode rowtype errors occur due to AccessPathRule.

The following issue is fixed: When the value of the COLLATE parameter is set to utf8mb4_0900_ai_ci, data inconsistency occurs after a GSI is created.

The following issue is fixed: The limit on the number of logon attempts does not take effect.

The following issue is fixed: The estimated sizes of specific blocks are inaccurate.

The following issue is fixed: When the PolarDB-X proprietary protocol is used, precision loss occurs for decimal values.

The following issue is fixed: An error occurs when the system matches data of the BYTE and CHAR types to transmit execution plans based on the PolarDB-X proprietary protocol.

The following issue is fixed: Metadata loss occurs for indexes after the ALTER TABLE ADD statement or DROP PRIMARY KEY statement is executed.

The following issue is fixed: If the ALTER TABLE statement is executed on a table, the schema of the table changes when the operation that is performed to shard the physical table times out, or an external interruption occurs.

The following issue is fixed: When the system fails to execute a DROP INDEX statement on all physical shards, the system does not automatically roll back the data.

Release date: 2021-12-22

Major version: V5.4.12

Minor version: 16399913

Category

Description

New feature

The Debezium and Maxwell synchronization tools are supported.

The automatic transaction rollback feature is supported. After the system detects a deadlock issue for a transaction, the system automatically rolls back the transaction.

Optimized feature

The SPM feature is optimized to ensure that DDL operations do not affect SPM operations.

Fixed issue

The following issue is fixed: If the INSERT SELECT statement includes an implicit primary key and the operation is not pushed down to the data node layer for execution, the sequence fails to generate values for the primary key.