This topic describes the release notes for PolarDB-X.

Release date: 2023-03-22

Major version: V5.4.16

Minor version: 16791337

CategoryDescription
New and optimized featuresThe thread pool and timeout period of the log sequence number (LSN) fetch feature can be adjusted.
The logic of the index recommendation feature is optimized to prevent that indexes are recommended when statistics are missing and index selectivity is low.
Fixed issuesThe issue that data migration fails in Java Database Connectivity (JDBC) mode is fixed.
The following issue is fixed: An error occurs when you execute the ALTER TABLE ADD CONSTRAINT UNIQUE KEY statement, 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 field names that contain escape characters are not entirely displayed in the output when you execute the SHOW CREATE TABLE statement.
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

CategoryDescription
New and optimized featuresThe partition hint feature is supported to execute multiple SQL statements at a time on a single partition.
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 issuesStatistics can be correctly collected on the execution duration of physical SQL statements and the following issue is fixed: Some physical SQL statements are incorrectly recorded as slow queries.
The following issue is fixed: The CPU utilization increases due to batch insert operations by using prepared statements.
The following issue is fixed: When you execute the ALTER TABLE DROP COLUMN statement, you may be unable to access the table.
For tables that are partitioned based on the primary key, the default number of partitions for a global secondary index (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 you write a negative number 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 Batched Key Access (BKA) join 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 time to live (TTL) feature is disabled after you execute the RENAME TABLE statement on a TTL table.
The following issue is fixed: The execution plans in the plan cache and baseline are not removed when you delete databases and tables.
The following issue is fixed: A permission error occurs when you execute an ALTER statement 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 you execute the ANALYZE TABLE statement 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 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

CategoryDescription
Fixed issuesThe following issue is fixed: A lookup key error occurs in a database that is partitioned in AUTO mode when you perform a BKA join 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 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 you execute the RENAME TABLE statement on a TTL table.
The following issue is fixed: An implicit type conversion is incorrectly processed when you write a negative number 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

CategoryDescription
Fixed issuesThe following issue is fixed: When you execute the ALTER TABLE DROP COLUMN statement, you may be unable to access the table.
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

CategoryDescription
New and optimized featuresThe CREATE DATABASE LIKE/AS statement is supported. This statement allows you to change the mode of a database from DRDS to AUTO with ease.
Object Storage Service (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 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 issuesThe 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 massively parallel processing (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: The AES_ENCRYPT() and AES_DECRYPT() functions return unexpected results.

Release date: 2022-12-23

Major version: V5.4.15

Minor version: 16715927

CategoryDescription
New and optimized featuresBINARY 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 issuesThe 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 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

CategoryDescription
New and optimized featuresThe error message returned and the logs generated are optimized when an SQL statement fails to be parsed or is incorrectly parsed.
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 issuesThe 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 joins. 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-joins that involve GSIs are performed.
The following issue is fixed: The table-level permissions of specific data access language (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 empty.
The following issue is fixed: A NullPointerException (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

CategoryDescription
New and optimized featuresThe error message returned for the PolarDB-X proprietary protocol in case of a timeout error in a transaction is optimized.
Fixed issuesThe 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 occurs when the SQL_SELECT_LIMIT variable is set to default.

Release date: 2022-11-21

Major version: V5.4.15

Minor version: 16687348

CategoryDescription
New and optimized featuresThe query logic that uses aggregate functions under Timestamp Oracle (TSO) transactions is optimized.
The error message returned is optimized when the ALTER TABLE statement fails to be parsed or is incorrectly parsed.
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 being 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 issuesThe 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

CategoryDescription
New and optimized featuresIn read/write splitting scenarios, the LSN can be obtained by using the grouping method.
Fixed issuesThe 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

CategoryDescription
New and optimized featuresThe memory usage of archive tables can be viewed.
The partitions of a table can be moved when the table is bound to an archive 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 issuesThe 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

CategoryDescription
New and optimized featuresThe permission system table of the information_schema database is compatible with MySQL.
Fixed issuesThe 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 being created or data is being 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 AUTO mode.

Release date: 2022-09-20

Major version: V5.4.15

Minor version: 16635539

CategoryDescription
New and optimized featuresAuto-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 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 issuesThe following issue is fixed: The base-64-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 archive 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 function cannot be run 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

CategoryDescription
Fixed issuesThe following issue is fixed: The table names in subqueries in the UPDATE statement executed on non-partitioned tables are not correctly 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

CategoryDescription
Fixed issuesThe 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 set 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 SQL plan management (SPM) feature is disabled.
The following issue is fixed: Data of the BINARY type is incorrectly processed in the UPDATE statement.

Release date: 2022-08-01

Major version: V5.4.14

Minor version: 16590002

CategoryDescription
New and optimized featuresCold 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 is optimized when the default local index is deleted from a table partitioned based on the primary key.
The concurrency and performance of read/write operations on a physical partition in a database that is partitioned in AUTO mode are optimized.
Fixed issuesThe 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 change data capture (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

CategoryDescription
Fixed issuesThe following issue is fixed: An error occurs 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

CategoryDescription
New and optimized featuresThe timeout period for failure detection based on the PolarDB-X proprietary protocol can be adjusted.
Fixed issuesThe 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 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

CategoryDescription
Fixed issuesThe 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

CategoryDescription
New and optimized featuresThe memory usage of the scan operator in streaming merge sorting is optimized.
Fixed issuesThe 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 tries 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 backticks (`).
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

CategoryDescription
New and optimized featuresThe NEW sequence type is supported. NEW sequences are globally unique, monotonically increasing, and high-performing. For more information, see New sequence (NEW).
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 way, metadata deadlock issues that occur during data synchronization between tables are resolved.
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 issuesThe 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

CategoryDescription
New and optimized featuresThe error message returned is optimized when a fatal error occurs in connections based on the PolarDB-X proprietary protocol.
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 issuesThe 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 a 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

CategoryDescription
Fixed issuesThe error message returned is optimized when the syntax of DDL statements that are used to change sharding rules or partitioning rules is incorrect.
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 when the TRUNCATE_TABLE_WITH_RECYCLEBIN parameter is set to true.

Release date: 2022-04-15

Major version: V5.4.13

Minor version: 16499071

CategoryDescription
New and optimized featuresThe automatic restart feature is supported for compute nodes. After an out of memory (OOM) error occurs, the system automatically restarts the compute node.
Fixed issuesThe 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 a condition that includes the not-equal-to (!=) operator is specified in a statement, the system may return an incorrect result.

Release date: 2022-04-08

Major version: V5.4.13

Minor version: 16493698

CategoryDescription
Fixed issuesThe following issue is fixed: The processlist table of the information_schema database collects information about the sessions of read-only instances.

Release date: 2022-04-02

Major version: V5.4.13

Minor version: 16487873

CategoryDescription
New featuresThe 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 issuesThe 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 backticks (`).
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 executed to query required data from specified partitions in partitioned tables.

Release date: 2022-03-14

Major version: V5.4.13

Minor version: 16462728

CategoryDescription
New featuresTables that contain GSIs and do not contain a primary key can be created.
Fixed issuesThe 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 backticks (`) used in the values of the CHARACTER SET parameter and COLLATE parameter.
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

CategoryDescription
New featuresThe mode in which tables are created can be specified when a database is created. The partitioning mode and the sharding mode 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 hash 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 partitioning method, RANGE partitioning method, 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 operations 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 you execute the EXPLAIN STATISTICS statement.
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 featuresThe 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 issuesThe 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 type and the CHAR type 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 the 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

CategoryDescription
New featuresThe Debezium synchronization tool and Maxwell synchronization tool 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 featuresThe SPM feature is optimized to ensure that DDL operations do not affect SPM operations.
Fixed issuesThe 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.