All Products
Search
Document Center

PolarDB:Release notes for compute nodes

Last Updated:Oct 29, 2024

This topic describes the release notes for compute nodes of PolarDB-X instances.

Release date: 2024-09-13

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New and optimized feature

You can specify whether to allow DDL operations on a table on which a clustered columnar index (CCI) is created for the primary instance of a PolarDB-X instance. By default, this feature is enabled. For more information, see the "DDL operation switch" section of the Create and use a CCI topic.

Data node hints can be bound to SQL Plan Management (SPM).

A CCI can be partitioned.

Fixed issue

The following issue is fixed: Duplicate feedback exists in statistics.

The following issue is fixed: The frequencies of single values in a statistical histogram are incorrectly estimated as zero.

The following issue is fixed: An error message instead of a warning is returned when you use a new standard account of a new instance to execute the SET GLOBAL statement.

The following issue is fixed: An error occurs during validation when you perform a lock-free column type change.

The following issue is fixed: When a selection is generated, NULL values within the same chunk lead to incorrect handling of PARTIAL_SELECTION, which causes incorrect results.

The following issue is fixed: The FORCE INDEX CCI syntax executed on a non-partitioned table does not take effect.

The following issue is fixed: A compatibility error occurs when specific SHOW statements are executed on read-only column store instances. The SHOW statements include SHOW INDEX FROM, SHOW TABLE STATUS, DESC TABLE/SHOW COLUMNS FROM, SHOW COLLATION, SHOW CHARACTER SET, and SHOW PRIVILEGES.

The following issue is fixed: Incorrect results are returned because incorrect filter conditions are passed through to outer joins in specific scenarios.

The following issue is fixed: A null pointer error may occur when the INSERT IGNORE statement is executed during subpartition changes.

The following issue is fixed: Column statistics are accidentally deleted during the collection of the number of distinct values (NDV) when you change the topology of a table.

The following issue is fixed: The thread for snapshot building is blocked when change data capture (CDC) builds a full schema snapshot.

The following issue is fixed: An error occurs when you apply FORCE INDEX to an index that contains reserved keywords by using the automatic FORCE INDEX mechanism but does not enclose the reserved keywords in backticks (`).

The following issue is fixed: When you use a lookup join optimization technique for statements that contain the NULL-safe equal to operator (<=>), the queried columns become misaligned after partition pruning, which causes incorrect results. Lookup joins are also known as Batched Key Access (BKA) joins. For more information, see the "Lookup Join (BKAJoin)" section of the Optimize and execute JOIN operations topic.

Release date: 2024-08-28

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New feature

Reuse of execution plans is supported regardless of whether SQL statements end with a semicolon (;).

A single-table query statement that contains a CCI can be automatically routed to a read-only instance.

Built-in database names such as MySQL cannot be used during database creation.

Subqueries can be used in JOIN ON conditions that are pushed down in queries on non-partitioned tables.

DDL operations can be performed on primary tables for which CCIs are created by default.

CCIs can be used on the ANALYZE TABLE statement by default.

Function indexes can be created on fields of the JSON type if the engine version is MySQL 8.0.

Fixed issue

The following issue is fixed: The system disables the retention of DML pushdown tags when you perform a lock-free column type change.

The following issue is fixed: Execution of the ALTER TABLE statement used to modify a column name cannot be complete if the case of the new column name is inconsistent with that of the original column name.

The following issue is fixed: Data in the INFORMATION_SCHEMA.TABLE view cannot be updated in real time if the engine version of a data node is MySQL 8.0.

The following issue is fixed: An error occurs when a query on the INFORMATION_SCHEMA.STATISTICS table is performed in PREPARE mode.

The following issue is fixed: A table with CCIs fails to be created if the default table group is resorted due to partition changes during table creation.

The following issue is fixed: The results may not meet expectations when non-grouped aggregate results are filtered.

The following issue is fixed: A column-oriented archive table fails to be created if the time values in the time column of the corresponding time to live (TTL) table contain zero or empty values.

The following issues are fixed: The ALTER statements that contain implicit table groups fail to be parsed by the SQL parser or fail to be correctly processed.

The following issue is fixed: A downstream synchronization error occurs because random suffixes are contained in the CDC SQL statement that is generated when CCI partitions are dynamically added to a TTL table.

The following issue is fixed: DirectPlan pushdown does not meet expectations when a single-table INSERT SELECT statement is performed across databases.

Release date: 2024-08-18

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

Fixed issue

The following issue is fixed: Database accounts cannot be created and queried by using Navicat.

The following issue is fixed: Warning messages are continuously returned when DataGrip is used to connect to a PolarDB-X instance.

The following issue is fixed: Database views cannot be queried by using DBeaver.

Release date: 2024-08-16

Component version: 5.4.18

Component minor version: 17236025

Category

Description

Optimized feature

The scaling process is optimized and the availability of the source table is verified during rollbacks.

Fixed issue

The following issue is fixed: The system disables the retention of DML pushdown tags when you perform a lock-free column type change.

The following issue is fixed: The ID of an SQL template with a node hint is the same as the ID of another SQL template.

The following issue is fixed: The verification may fail if you add the NOT NULL constraint when you perform a lock-free column type change.

The following issue is fixed: The results may not meet expectations when non-grouped aggregate results are filtered.

The following issue is fixed: The serialization of statistics histograms fails due to special characters.

The following issue is fixed: An error occurs when a query on the INFORMATION_SCHEMA.STATISTICS table is performed in PREPARE mode.

The following issue is fixed: Execution of the ALTER TABLE statement used to modify the definition of a column cannot be complete if the case of the new column name is inconsistent with that of the original column name.

The following issue is fixed: The result returned by the STR_TO_DATE('2020-08-01 00:00:00', '%Y-%m-%d %T') function does not meet expectations.

Release date: 2024-08-01

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New and optimized feature

SPM is supported by read-only column store instances.

Quotation marks can be automatically added to or removed from parameter values that do not match parameter types.

A SortKey of the STRING type can be used in index pruning for read-only column store instances.

CCI-based queries on the primary instance can be distributed to read-only column store instances.

The execution logic of aggregate functions is optimized. By default, pushdown aggregation is used in row store scenarios and two-phase aggregation is used in column store scenarios.

The index selection logic for hot data is optimized.

The performance of the NOT IN expression in queries on read-only column store instances is improved.

Fixed issue

The following issue is fixed: The left operand of the WHERE clause in an SQL statement supports only integers in the range of [-263, 263-1].

The following issue is fixed: The BASELINE syntax does not support the UNION clause.

The following issue is fixed: The concurrency calculation of execution plans managed by SPM does not meet expectations in massively parallel processing (MPP) mode.

The security issue of the AES_DECRYPT function in high-concurrency environments is fixed.

The following issue is fixed: The serialization of statistics histograms fails due to special characters.

The following issue is fixed: The column store attribute distribution is lost during the deserialization process of an execution plan.

The following issue is fixed: Sequences whose names exceed 64 characters failed to be changed.

The following issue is fixed: Inconsistency of template IDs occurs due to differently cased aliases when you use aggregate functions.

The following issue is fixed: Databases named mysql and performance_schema can be created by executing the CREATE DATABASE statement.

The following issue is fixed: When you execute an SQL statement that contains the LIMIT clause on a read-only column store instance, the result may not meet expectations.

The following issue is fixed: Mismatch of foreign key columns occurs when you perform an update operation on a child table that has a foreign key constraint.

The following issue is fixed: An error occurs when you execute an SQL statement that contains aggregate functions and UNION subqueries.

The following issue is fixed: The verification may fail if you add the NOT NULL constraint when you perform a lock-free column type change.

The following issue is fixed: The inference of the join type fails when predicate conditions are pushed down to subqueries.

The following issue is fixed: Column mismatch occurs when you execute an INSERT SELECT statement that contains aggregate functions.

Modified feature

Before modification, DDL operations are prohibited on a primary table on which a CCI is created by default. After modification, DDL operations are allowed on a primary table on which a CCI is created by default.

Release date: 2024-07-18

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

Fixed issue

The following issue is fixed: An out of memory (OOM) error occurs because the maximum memory size specified for the buffer pool is excessively large.

Release date: 2024-07-10

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New and optimized feature

The plan cache feature is supported for read-only column store instances.

CCI-based queries can be distributed to read-only column store instances.

The execution performance of SQL statements that contain the JOIN keyword is optimized.

The execution performance of UPDATE statements that contain the ORDER BY LIMIT clause is improved for partitioned tables.

The display policies for transaction-related variables are optimized.

The distributed deadlock detection mechanism is optimized.

Fixed issue

The following issue is fixed: An error occurs when a query that contains an IN(NULL) condition is executed on an index that contains columns of the STRING type.

The following issue is fixed: BLOB field values are incorrectly encoded after you invoke the TO_BASE64() function on the values.

The following issue is fixed: The JoinAggToJoinAggSemiJoinRule optimization rule causes incorrect SQL query results.

Release date: 2024-07-02

Product version: polardb-V2.3.0

Component version: 5.4.18

Component minor version: 17198050

Category

Description

New and optimized feature

Reuse of execution plans is supported regardless of whether SQL statements end with a semicolon (;).

Subqueries can be used in JOIN ON conditions that are pushed down in queries on non-partitioned tables.

Cardinality estimation is optimized for datasets that exhibit significant skewness.

The scaling process is optimized and the availability of the source table is verified during rollbacks.

Fixed issue

The following issue is fixed: The sample hint feature does not take effect when sample rates are expressed in scientific notation.

The following issue is fixed: The routing and values change when data is inserted by using the TIMESTAMP() function.

The following issue is fixed: The left operand of the WHERE clause in an SQL statement supports only integers in the range of [-263, 263-1].

The following issue is fixed: DDL operations are unexpectedly rolled back.

Release date: 2024-06-13

Product version: polardb-V2.3.0

Component version: 5.4.18

Component minor version: 17181576

Category

Description

New and optimized feature

Automatic use of FORCE INDEX in specific scenarios is supported.

Precision for FLOAT and DOUBLE data types can be specified.

Throttling is supported for requests routed to read-only column store instances and regular read-only instances.

The display of information in the Information_schema.tables view is optimized.

Concurrency limits on physical execution of the ALTER TABLE statement are optimized.

The throttling thresholds for concurrent and waiting requests to data nodes are increased.

Fixed issue

The following issue is fixed: An extended period of time is required for pruning based on the IN clause when the number of pushed-down tables exceeds nine.

The following issue is fixed: Lock-free column type change from a string type to a non-string type may fail.

The following issue is fixed: The BASELINE DELETE instruction does not work on all nodes.

The following issue is fixed: After you perform a lock-free column type change to configure AUTO_INCREMENT for a column in a table that does not have a sequence object, an error occurs when data is inserted into the table.

The following issue is fixed: Isolation levels may be decoded incorrectly if they are specified with underscores (_) or incorrect capitalization.

The following issue is fixed: The BASELINE ADD and BASELINE FIX instructions cannot accurately calculate the cost of execution plans for statements that contain the IN clause.

Release date: 2024-05-27

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New and optimized feature

The AS OF TSO syntax is added to retrieve snapshot data.

The execution plans for queries that aggregate distinct values are optimized.

Fixed issue

The following issue is fixed: An error occurs when the required CDC tagging step is omitted during the creation of a new database after a failed attempt to drop the existing database.

Release data: 2024-05-16

Product version: polardb-V2.3.0

Component version: 5.4.18

Component minor version: 17157586

Category

Description

New and optimized feature

The INSERT INTO TABLENAME() VALUES() syntax is added.

A UNION operation that does not explicitly reference tables can be used within the SET clause of an UPDATE statement.

The logic for pushing down REPLACE statements is optimized. This allows REPLACE statements to be pushed down in specific scenarios under the read committed (RC) isolation level.

DDL statements without a schema specified cannot be executed in the INFORMATION_SCHEMA database.

Fixed issue

The following issue is fixed: The hint used to sample data from a single table for statistics collection does not take effect.

The following issue is fixed: Online Modify Column (OMC) 2.0 may cause routing errors for existing unique global secondary index (UGSI) data.

The following issue is fixed: Foreign key constraints fail to be added when indexes on the self-referencing tables are processed and character sets are detected.

The following issue is fixed: A query fails to be parsed when the LIMIT clause uses excessively large values.

Release date: 2024-05-10

Product version: polardb-V2.3.0

Component version: 5.4.18

Component minor version: 17152226

Category

Description

New and optimized feature

Encrypted tables can be physically replicated.

A scaling maintenance window can be specified.

Parameters related to the table compression feature, such as the KEY_BLOCK_SIZE parameter, can be configured when a table is created.

The creation of global secondary indexes (GSIs) and the changes in partition keys are accelerated.

Fixed issue

The following issue is fixed: An error message indicating a failed UGSI migration is returned after physical replication is enabled.

The following issue is fixed: A lock-free column type change failed to be performed on a common table or a broadcast table.

Release date: 2024-05-06

Product version: polardb-V2.3.0

Component version: 5.4.18

Component minor version: 17142802

Category

Description

New and optimized feature

Multiple ALTER TABLE statements can be concurrently executed.

The index selection logic is optimized. A DML statement that involves only a common table supports only GSIs that can be quickly found in a partitioned table.

The redundant GROUP BY statement on unique keys is removed.

The online change of the column type is accelerated and the CPU utilization of compute nodes is reduced.

The performance of the IN operator is optimized for query statistics estimation during queries that involve the IN Values clause.

Fixed issue

The capability of parsing private DDL statements commented in global binlog query events is disabled for the parser to prevent errors when the statements are applied at the receiving end of the replication stream.

The following issue is fixed: When a DDL operation is performed, data becomes inconsistent because transactions fail to be drained due to a misjudgment in metadata lock (MDL) cleanup.

The following issue is fixed: An error message indicating duplicate entry may occur when the INSERT IGNORE statement is executed during scaling.

The following issue is fixed: A backend connection is stuck when a result set is improperly closed in massively parallel processing (MPP) mode.

The following issue is fixed: Improper suggestions are provided when an index inspect operation is performed in some scenarios.

The following issue is fixed: Incorrect results may be returned upon INNER JOIN and OUTER JOIN operations during reordering.

The following issue is fixed: DDL operations may fail unexpectedly when the auto_increment column contains a record with the value 0.

The following issue is fixed: Metadata fails to be imported because database names end with s or S when your instance is upgraded from Standard Edition to Enterprise Edition.

The following issue is fixed: An error message indicating a failed DDL operation is returned when the ALTER TABLE REMOVE PARTITIONING statement is executed and options are configured.

The following issue is fixed: The connection pools of instances that use private protocols and have low specifications are improperly used when the ports of data nodes in the instance are exchanged.

The XA_TSO transaction policy is disabled in the scenarios of frequent hot data updates to prevent potential incompatibility issues that may arise when your instance is upgraded after the policy is enabled.

Release date: 2024-04-26

Product version: polardb-V2.3.0

Component version: 5.4.19

Category

Description

Fixed issue

The following issue is fixed: The types of the default values of a column are invalid after the Default expression of the column is changed.

The following issue is fixed: In PolarDB for MySQL 8.0, data is incorrectly routed when unsigned partition keys are negative integers of the STRING type such as -184467440737095516150.

Release date: 2024-04-16

Product version: polardb-V2.4.0

Component version: 5.4.19

Category

Description

New and optimized feature

The ANALYZE TABLE statement is supported. Column-oriented tables can be specified in the statement to accelerate statistics collection.

Execution plans can be isolated by instance.

Long string statistics are optimized.

The logic of generating the top N values of statistics is optimized.

The validity period of the plan cache for a read-only or primary instance is specified. The default validity period is 12 hours.

The prefix of the version number returned by select version() is upgraded from 5.6.29 to 5.7.25.

Fixed issue

The following issue is fixed: An error is returned when count(1) is used in window functions.

The following issue is fixed: Cardinalities are incorrectly estimated after constants are folded.

The following issue is fixed: The HEX or LENGTH function returns incorrect results for values of the BLOB type.

The following issue is fixed: Statistics on a table fail to be collected when a column named ```x``` exists in the table.

The following issue is fixed: The COUNT(*) function cannot be used together with window functions to perform column pruning.

The following issue is fixed: The name of a physical table is returned after the SHOW INDEX FROM statement is executed.

The following issue is fixed: The whitelist manager does not interrupt whitelist metadata loading in a timely manner when an error message indicating a failure to load metadata during the initialization of compute nodes is returned, which causes a whitelist metadata loading error.

The following issue is fixed: The executions of the Deallocate statement are incorrectly counted when a protocol for prepared statements is used.

The following issue is fixed: The baseline of the entire schema is cleared when the sequence of DDL operations is specified.

The following issue is fixed: The cost-based optimizer (CBO) may fail to push aggregation operations down to GSIs.

Release date: 2024-03-20

Component version: 5.4.18

Component minor version: 17108394

Category

Description

New and optimized feature

OMC 2.0 is added.

The binary logging-related statements such as SHOW FULL BINARY LOGS and SHOW FULL MASTER STATUS are added.

The creation and deletion of a stored procedure are optimized to prevent residual metadata.

The CPU utilization is reduced when the REPLACE or UPSERT statement is executed on a table that contains a GSI or a UGSI.

Fixed issue

The following issue is fixed: Specific existing execution plans are not cleared when a local index is created for a table that contains a clustered index.

The following issue is fixed: Physical tables cannot be found occasionally when the RENAME statement is executed to rename multiple tables of a database in Distributed Relational Database Service (DRDS) mode at a time.

The following issue is fixed: The CDC system inaccurately calculates data nodes when scaling operations are simultaneously performed on different storage pools.

The following issue is fixed: DML statements fail to be executed on foreign key tables.

The following issue is fixed: An error may be returned when the number of distinct values for multiple columns is counted.

The following issue is fixed: The statistics correction feature becomes invalid due to incorrect case sensitivity settings.

The following issue is fixed: The DROP TABLE statement is executed when multiple database names are specified in the statement.

The following issue is fixed: A table creation error is returned when the partition key columns of partitioned tables in a database in AUTO mode contain backticks (`).

The following issue is fixed: During the scaling or UGSI creation process, data verification fails when the INSERT IGNORE statement that contains the RETURNING clause is executed.

The following issue is fixed: The name of a GSI is the same as that of a local index.

The following issue is fixed: A UGSI fails to be created if the index name contains special characters.

The issue of inaccurate calculations for row expressions is fixed.

The following issue is fixed: The transaction logs of instances whose time zone is not UTC+8 are cleared at an excessively high frequency.

The following issue is fixed: A routing error is returned when a multi-stage DDL operation is performed on a read-only instance. Execution of the MODIFY COLUMN NOT NULL statement is stuck due to the improper handling of SQL_MODE. A DDL operation becomes stuck when the operation is performed on a logic table whose name contains special characters.

Release date: 2024-02-26

Component version: 5.4.16

Component minor version: 17083213

Category

Description

Optimized feature

The hit rate of the plan cache is optimized in scenarios where queries are pushed down to specific data shards. This accelerates high-concurrency queries.

Fixed issue

The following issue is fixed: Data cannot be queried because specific views in the INFORMATION_SCHEMA database contain IN conditions.

The following issue is fixed: The syntax errors of physical SQL statements are returned because special characters exist when BKA join operations are performed.

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

The following issue is fixed: A routing calculation error occurs in scenarios where BKA join operations are performed.

Release date: 2024-02-04

Component version: 5.4.18

Component minor version: 17066805

Category

Description

New and optimized feature

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

DDL operations, such as adding or removing columns, adding or removing indexes, and modifying columns, can be atomically committed across multiple shards after they are pushed down to data nodes.

When the ANALYZE TABLE statement fails to be executed, a message indicating the reason for the failure is returned.

The 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 amount of time required to change column types online 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 directly changed.

The following issue is fixed: Incorrect results may be occasionally returned when you query a field of the TIMESTAMP type in an archive table.

The following issue is fixed: The physical shards may not be found after the RENAME TABLE statement 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 the shard key column type of a global unique index is changed.

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 returned 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

Component version: 5.4.18

Component 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: A partition routing error occurs because the calculation result of the RIGHT partitioning function of CoHash is incorrect.

Release date: 2023-12-27

Component version: 5.4.18

Component minor version: 17034692

Category

Description

New and optimized feature

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

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

The error message returned after the maximum number of prepared statements in a single compute node connection is exceeded is optimized.

The data migration method during scaling is optimized. For more information, see the "Experimental feature for efficient data migration" section of the Add or remove nodes topic.

Fixed issue

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

The concurrency safety issue caused by XPLAN is fixed.

The issue of failed statistics collection is fixed.

The following issue is fixed: An error is returned when the SELECT statement without a table name specified is executed on a database in AUTO mode.

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

The following issue is fixed: Incorrect AUTO_INCREMENT values may be displayed in the result 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 system.

The following issue is fixed: Fully pushed-down execution plans cannot be controlled by SPM.

Release date: 2023-12-21

Component version: 5.4.17

Component minor version: 17025353

Category

Description

New and optimized feature

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

The maximum length of partition names in partitioned tables can be dynamically adjusted.

The logic of the ANALYZE TABLE statement is optimized to prevent GSI statistics collection.

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

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

The creation of a table in a database in AUTO mode is accelerated when the database contains a large number of tables.

The verification for data migration is accelerated in specific 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 compute node statistics may be caused by DDL operations.

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

The following issue is fixed: A message indicating that JSON is not supported appears during the 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 binary log dump connections.

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

Release date: 2023-11-22

Component version: 5.4.18

Component minor version: 17004745

Category

Description

New and optimized feature

The creation of a table in a database in AUTO mode is accelerated when the database contains a large number of tables.

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

The efficiency of concurrent table creation for a database in AUTO mode is improved.

Fixed issue

The following issue is fixed: An unfriendly error message is returned when a nonexistent database name is specified in the ALTER TABLE statement.

The following issue is fixed: The ALTER TABLE statement cannot be executed when both DROP COLUMN and MODIFY COLUMN are added to the statement.

The following issue is fixed: If the fields in the ORDER BY and PARTITION BY clauses of a window function are left empty, an error may be returned in specific execution modes.

The following issue is fixed: When the tables view in the INFORMATION_SCHEMA database are queried, an error may be returned.

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

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: If a table contains data of the STRING type when data is migrated or indexes are added, data of the STRING type may be incorrect in the destination table.

The following issue is fixed: GSI-related data is lost in the TableDetail view after the TRUNCATE TABLE statement is executed.

The following issue is fixed: Execution of the ALTER TABLE statement fails to be executed to modify the values in the AVG_ROW_LENGTH column.

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

Component version: 5.4.17

Component minor version: 16994228

Category

Description

New and optimized feature

The execution plans in the unique key columns for IN conditions are optimized in scenarios where a statistics collection error occurs.

The deserialization for subpartition DDL tasks is accelerated.

The adding of 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 specific 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

Component version: 5.4.18

Component minor version: 16977056

Category

Description

New and optimized feature

Foreign key constraints are supported.

Privileged accounts can be modified.

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 Global Meta Service (GMS) nodes and data 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 a precision of 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 specific Data Access Language (DAL) statements in high concurrency scenarios is fixed.

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

The following issue is fixed: An error is returned when JSON values in a table that contains unique key columns are replaced.

The following issue is fixed: If the SET statement is executed to modify the PlanCache size and the new PlanCache size is not stored in metaDB, the PlanCache size remains the default value after the compute node is restarted.

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

Release date: 2023-10-16

Component version: 5.4.17

Component minor version: 16971811

Category

Description

New and optimized feature

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 the value of the useAffectedRows option is set to true.

The following issue is fixed: An error is returned occasionally when nested BKA join operations are performed.

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

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

The following issue is fixed: When network jitter occurs, errors are occasionally returned in the results of DDL statements.

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

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

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

Release date: 2023-09-22

Component version: 5.4.17

Component minor version: 16952556

Category

Description

New and optimized feature

Verification tasks can be quickly interrupted during scaling operations.

useAffectedRows is supported.

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

The DECIMAL 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 a single task from occupying all threads in a single bucket.

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

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

The logic of 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 is optimized when an excessive number of tables are included in the same table group.

Fixed issue

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

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

The issue concerning the compatibility of archive 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: Specific DAL statements 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: NPEs may occur 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 into 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 BKA join scenario is fixed.

The following issue is fixed: Tables without primary keys, composite indexes, and global indexes are improperly 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

Component version: 5.4.17

Component minor version: 16921956

Category

Description

New and optimized feature

The default_single='on' setting 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 maintenance window of cold data archiving is optimized to prevent an archiving task that is unexpectedly interrupted from being restarted outside the maintenance window.

The exception handling logic 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 of the SELECT @@global.server_id statement do not meet expectations.

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 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 specific DML operations when the Move Partition operation is performed on a subpartition.

The following issue is fixed: Residual metadata exists after GSIs are deleted.

The following issue is fixed: The log sequence number (LSN) of a database in DRDS mode fails to be specified 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

Component version: 5.4.16

Component minor version: 16901668

Category

Description

New and optimized feature

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

Fixed issue

The following issue is fixed: The number of active connections returned in the result of the SHOW STATS statement is a negative number.

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 in the GMS connection pool if the configurations of the primary instance are repeatedly changed.

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: Partition keys fail to be optimized 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

Component version: 5.4.17

Component minor version: 16899058

Category

Description

New and optimized feature

useAffectedRows is supported.

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

Fixed issue

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

The following issue is fixed: If a view is specified in a DML statement, exceptions occur during semantic verification 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 specific project aggregate scenarios, exceptions occur during the extraction of associated subquery conditions 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 a table is created by using PARTITION BY KEY but no columns are specified.

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 Data Management (DMS) is used to scan large tables without the LIMIT clause specified.

Release date: 2023-07-13

Component version: 5.4.17

Component 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 specific scenarios.

Release date: 2023-07-06

Component version: 5.4.17

Component minor version: 16885239

Category

Description

New and optimized feature

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 statuses of all tables and GSIs in the current database can be displayed.

set cdc global key=value can be used to configure CDC-related system variables.

The detection mechanism of physical MDL wait is optimized.

In MPP mode, session variables can be configured for compute nodes.

Fixed issue

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

The following issue is fixed: High availability (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 in the GMS connection pool if the configurations of the primary instance are repeatedly changed.

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, an error occurs.

Release date: 2023-06-13

Component version: 5.4.17

Component minor version: 16865674

Category

Description

New and optimized feature

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 a list partitioned table is created.

Release date: 2023-06-06

Component version: 5.4.17

Component minor version: 16859297

Category

Description

New and optimized feature

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

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

The index diagnostics feature is added to perform a 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 action performed after a physical DDL statement is interrupted or canceled is optimized.

Fixed issue

The following issue is fixed: If the AVG function is used 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 BASELINE FIX instructions in queries cannot use SPM.

The following issue is fixed: The results of the SHOW TOPOLOGY statement cannot be sorted.

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

Release date: 2023-06-02

Component version: 5.4.16

Component minor version: 16855897

Category

Description

Fixed issue

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

Release date: 2023-05-23

Component version: 5.4.16

Component minor version: 16847200

Category

Description

New and optimized feature

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

Fixed issue

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

Release date: 2023-05-15

Component version: 5.4.16

Component minor version: 16839433

Category

Description

New and optimized feature

The thread pool size and timeout period of the 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 an instance is upgraded, the configurations of an instance are changed, or an HA switchover is performed 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 into a JOINT query.

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

The following issue is fixed: Prepare requests are counted in queries per second (QPS).

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

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

The following issue is fixed: The TPS statistics on 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 type is not truncated to match the fixed length when the LONG type is converted to the CHAR 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

Component version: 5.4.17

Component minor version: 16835173

Category

Description

New and optimized feature

The local partition rule can be modified for a TTL table bound to an archive table.

Indexes can be created for columns and functions.

The Instant ADD COLUMN feature is enabled by default.

Global indexes can be hidden or shown. 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.

Specific DDL statements are supported on archive tables.

The new sequence feature and its performance are optimized. For more information, see the "New sequences" section of the CREATE SEQUENCE topic.

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 of disabling DDL statements is optimized in archive tables.

Fixed issue

The following issue is fixed: The DATE_FORMAT() function works 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: An error message indicating that the table does not exist is returned when a cross-database query is performed.

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 fully 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

Component version: 5.4.16

Component minor version: 16825599

Category

Description

New and optimized feature

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

The RENAME TABLE statement can be executed 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 queries on the innodb_lock_waits view.

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 BKA join operations, 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 values of the DECIMAL type are summed.

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

The following issue is fixed: When data is migrated 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 ORDER BY queries are performed on window functions.

The following issue is fixed: The return value of the AES_DECRYPT function is of the BINARY type.

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

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

Component version: 5.4.16

Component minor version: 16809623

Category

Description

New and optimized feature

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

The logic of 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 compatibility issue of hyphens (-) in stored procedures is fixed.

The following issue is fixed: The error message indicating that the primary key does not exist is returned for specific aggregated 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: If the CONTINUE statement is executed after the PAUSE DDL statement during data migration, the PAUSE DDL statement may fail to be executed.

Release date: 2023-03-22

Component version: 5.4.16

Component minor version: 16791337

Category

Description

New and optimized feature

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

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 fully 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

Component version: 5.4.16

Component minor version: 16773973

Category

Description

New and optimized feature

SQL statements can be executed on a specific 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.

A maintenance window can span multiple days. The start time of a maintenance window on the first day can be later than the end time of the maintenance window on the last day.

Fixed issue

The following issue is fixed: Specific physical SQL statements are incorrectly recorded as slow queries because statistics on the execution duration of physical SQL statements are incorrectly collected.

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 flashback queries are performed 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 a BKA join operation is performed 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 occasionally occurs when a table that is used to archive the data is queried.

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: Specific requests time out due to a deadlock error based on the PolarDB-X proprietary protocol in scenarios where compute nodes are under heavy load. This deadlock error occasionally occurs.

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 unexpectedly appears when JDBC is used.

Release date: 2023-03-02

Component version: 5.4.15

Component 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 a BKA join operation is performed 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: Specific requests time out due to a deadlock error based on the PolarDB-X proprietary protocol in scenarios where compute nodes are under heavy load. This deadlock error occasionally occurs.

The following issue is fixed: A suspension error occasionally occurs when a table that is used to archive the data is queried.

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 the ANALYZE TABLE statement is executed across databases.

Release date: 2023-01-14

Component version: 5.4.15

Component 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

Component version: 5.4.16

Component minor version: 16717637

Category

Description

New and optimized feature

The CREATE DATABASE LIKE/AS statement is supported. This statement allows the mode of a database to be changed 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 an instance is scaled.

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: The results returned by the AES_ENCRYPT() and AES_DECRYPT() functions do not meet expectations.

Release date: 2022-12-23

Component version: 5.4.15

Component minor version: 16715927

Category

Description

New and optimized feature

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 result 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

Component version: 5.4.15

Component minor version: 16704996

Category

Description

New and optimized feature

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 accounts can close connections that are established by other accounts.

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 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 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 invoked.

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

Component version: 5.4.15

Component minor version: 16694249

Category

Description

New and optimized feature

The error message returned for the PolarDB-X proprietary protocol when a timeout error occurs 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

Component version: 5.4.15

Component minor version: 16687348

Category

Description

New and optimized feature

The query logic that uses aggregate functions under 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 of 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

Component version: 5.4.15

Component minor version: 16668369

Category

Description

New and optimized feature

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

Component version: 5.4.15

Component minor version: 16660526

Category

Description

New and optimized feature

The 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 of creating indexes on time-based columns for tables that are partitioned based on the primary key is optimized. By default, local indexes instead of GSIs are created.

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

Component version: 5.4.15

Component minor version: 16642369

Category

Description

New and optimized feature

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 AUTO mode.

Release date: 2022-09-20

Component version: 5.4.15

Component minor version: 16635539

Category

Description

New and optimized feature

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 specified 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.

The column types can be modified online. For more information, see Change the column types without locking tables.

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 of 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 result of 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 an 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 results returned by the AES_ENCRYPT() function do not meet expectations.

The following issue is fixed: An error occurs when partitions are queried 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 cannot be executed for a full table scan on a database that is partitioned in AUTO mode.

Release date: 2022-09-02

Component version: 5.4.14

Component 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 specific subqueries.

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

Release date: 2022-08-15

Component version: 5.4.14

Component 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

Component version: 5.4.14

Component minor version: 16590002

Category

Description

New and optimized feature

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 issue of 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 returned 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

Component version: 5.4.14

Component minor version: 16576195

Category

Description

Fixed issue

The following issue is fixed: Errors and potential incorrectness may 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

Component version: 5.4.14

Component minor version: 16563827

Category

Description

New and optimized feature

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 a constant expression is used 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

Component version: 5.4.14

Component 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

Component version: 5.4.14

Component minor version: 16547447

Category

Description

New and optimized feature

The memory usage of the scan operator in streaming merge sorting 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 returned 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

Component version: 5.4.14

Component minor version: 16539836

Category

Description

New and optimized feature

The NEW sequence type is supported. NEW sequences are globally unique, monotonically increasing, and high-performing. For more information, see the "New sequences" section of the Overview topic.

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 of 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 statements that are used to create partitioned tables.

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.

The 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 of running DDL tasks is optimized. After a DDL task is started, the task is not added to the task queue. The task immediately runs.

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: An error is returned 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 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

Component version: 5.4.13

Component minor version: 16526725

Category

Description

New and optimized feature

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 a 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

Component version: 5.4.13

Component 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

Component version: 5.4.13

Component minor version: 16499071

Category

Description

New and optimized feature

The automatic restart feature is supported for compute nodes. After an 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, different results may be returned even when BKA join operations are performed on the same objects.

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

Component version: 5.4.13

Component 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

Component version: 5.4.13

Component 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, hints can be used to perform the required operations.

The logic of detecting distributed deadlocks 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 partition names that consist only of digits are specified in the CREATE TABLE statement 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 used to query required data from specific partitions in partitioned tables.

Release date: 2022-03-14

Component version: 5.4.13

Component 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 backticks (`) 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 a globally unique index is used 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

Component version: 5.4.13

Component 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 more information about the specific syntax, see CREATE DATABASE.

The MySQL syntax for creating partitioned tables is supported. The following partitioning policies are supported: HASH, RANGE, and LIST. For more information, see CREATE TABLE (AUTO mode).

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 resolve issues that are caused by hot GSIs.

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

The TTL and TTL management features 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 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

Component version: 5.4.12

Component 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.