Skip to content

Releases: polardb/polardbx-sql

polardbx-sql-5.4.19-20241103_17309482

07 Nov 05:58
Compare
Choose a tag to compare
Pre-release

RELEASE NOTE

Feature enhancement

Added support for automatic identification of partitioned tables without GSI during scaling, and partition pruning for queries issued by UPSERT statements based on primary tables. For more information, see Global Secondary Index (GSI).
Added support for automatic cleanup of columnar Plan Cache when shutting down columnar nodes.
Added support for TRUNCATE TABLE operations on tables with columnar indexes. For details, see Columnar Index DDL Statement Restrictions.
Optimized GSI construction performance (concurrent backfilling based on globally ordered primary key ranges). For more information, see Global Secondary Index (GSI).
Optimized SPM (SQL Plan Management) bound columnar plan selection to no longer be affected by global columnar routing switch.
Optimized Metric View to display system metric information.
Optimized resource limits and scheduling efficiency for logical and physical backfill operations.
Optimized HLL (HyperLogLog) collection logic to avoid scanning unique keys.
Optimized performance overhead of MDL lock wait detection. For more information, see MDL Optimization (Metadata Lock).
Optimized columnar index selection logic (SQL with Apply operators no longer routes to columnar nodes). For more information, see Row-Column Routing Mechanism.
Optimized workload type determination logic, configuring columnar query workload type as AP by default. For more information, see Hybrid Load HTAP.
Optimized SHOW DDL statement performance for viewing complex DDL operations.
Optimized High Availability (HA) system's health check intervals and timeout parameters to reduce HA system recovery time.
Optimized scaling DDL Task granularity settings to improve scaling scheduling efficiency.
Added support for executing columnar index-related DDL statements on primary instances (configurable switch, enabled by default). For more information, see Configure Columnar Index Switch.
Added support for binding DN HINT in SPM (SQL Plan Management).
Added support for partition splitting in columnar indexes.
Added support for execution plan reuse regardless of semicolon presence at SQL statement end.
Added support for automatic routing of single-table queries with columnar indexes to read-only instances.
Added support for disabling built-in database names like MySQL when creating databases.
Added support for subqueries in JOIN ON conditions during single-table pushdown.
Added support for DDL operations on primary tables with columnar indexes by default.
Added default support for using columnar indexes in ANALYZE TABLE.
Added support for creating function indexes on JSON type fields when engine version is MySQL 8.0.
Optimized scaling process and source table existence verification during rollback.
Added SPM (SQL Plan Management) support for columnar read-only instances.
Added support for automatic quote addition or removal for type-mismatched parameter values.
Added support for string type SortKey in index pruning functionality for columnar read-only instances.
Added support for automatically scheduling columnar queries from primary instances to columnar read-only instances.
Optimized aggregate (AGG) function execution logic: default pushdown aggregation in row storage scenarios; default two-phase aggregation in columnar storage scenarios.
Optimized hot value index selection logic.
Optimized NOT IN expression performance in columnar read-only instance queries.
Added Plan Cache support for columnar read-only instances.
Added support for scheduling columnar queries to columnar read-only instances.
Optimized performance of SQL statements containing JOIN keywords.
Optimized performance of UPDATE statements with ORDER BY LIMIT clauses on partitioned tables.
Optimized display strategy for transaction-related variables.
Optimized distributed deadlock detection mechanism.
Added support for execution plan reuse regardless of semicolon presence at SQL statement end.
Added support for subqueries in JOIN ON conditions during single-table pushdown.
Optimized cardinality estimation in extreme data skew situations.
Optimized scaling process and source table existence verification during rollback.
Added automatic force index functionality in certain scenarios.
Added support for precision specification in float and double data types.
Added throttling support for columnar read-only and read-only instances.
Optimized Information_schema.tables data display.
Optimized DDL concurrency limits for ALTER TABLE related physical executions.
Increased DN node wait and concurrent throttling thresholds.
Added support for reading snapshot data using AS OF TSO syntax.
Optimized Distinct Agg query plans.
Added support for INSERT INTO TABLENAME() VALUES() syntax.
Added support for table-less UNION syntax in UPDATE SET clauses.
Optimized logical REPLACE pushdown judgment, supporting REPLACE statement pushdown in certain scenarios under RC isolation level.
Disabled schema-unspecified DDL execution in INFORMATION_SCHEMA database.
Added encrypted table support for physical replication.
Added support for scaling maintenance windows.
Added support for specifying table compression-related parameters like KEY_BLOCK_SIZE when creating tables.
Optimized execution speed of GSI creation and table partition key changes.

Bugfix

Fixed an issue where executing TRUNCATE operations multiple times on the same table with the table recycle bin feature enabled in DRDS mode databases could cause metadata errors. For more information, see AUTO Mode Database and DRDS Mode Database.
Fixed an issue where executing SET GLOBAL statements with regular privilege accounts on new instances would directly report errors instead of returning warnings.
Fixed an issue where single value frequencies in statistics were estimated as 0 in histograms.
Fixed an issue where TTL definitions would be lost when executing CREATE TABLE WITH TTL statements after CDC transmission to downstream Replicas. For more information, see TTL.
Fixed an issue where Sort operation results in columnar optimizer were lost, leading to unexpected results.
Fixed an issue where hidden primary keys became unavailable when executing TRUNCATE in RECYCLEBIN mode.
Fixed an issue where SAMPLE HINT was ineffective on storage nodes when SAMPLE RATE was expressed in scientific notation.
Fixed an issue where the system incorrectly matched execution plans for multiple IN parameters during preprocessing when SQL statements contained IN clauses with only one parameter.
Fixed issues with SQL parser failing to parse ALTER statements containing implicit table groups and incorrect handling of marking statements. For more information, see Table Group Types.
Fixed an issue where FORCE INDEX CCI was ineffective for single tables (non-partitioned tables). For more information, see FORCE INDEX.
Fixed an issue where SHOW DDL STATUS displayed incorrect rates during concurrent backfilling.
Fixed duplicate Feedback information in statistics.
Fixed an issue where single value frequencies were estimated as 0 in histogram statistics.
Fixed an issue where executing SET GLOBAL statements with newly created regular privilege accounts on new instances would directly report errors instead of returning warnings.
Fixed validation errors when changing column types for lock-free columns.
Fixed an issue where incorrect PARTIAL_SELECTION processing caused result errors when NULL values were present in the same Chunk during Selection generation.
Fixed an issue where FORCE INDEX CCI was ineffective for single tables.
Fixed compatibility issues with certain SHOW statements (SHOW INDEX FROM, SHOW TABLE STATUS, DESC TABLE/SHOW COLUMNS FROM, SHOW COLLATION, SHOW CHARACTER SET, SHOW PRIVILEGES) in columnar read-only instances.
Fixed an issue where incorrect filter condition transmission to OUTER JOIN led to incorrect result output in certain scenarios.
Fixed potential null pointer exceptions when executing INSERT IGNORE during sub-partition changes.
Fixed an issue where NDV (Number of Distinct Values) collection would incorrectly delete column statistics during table topology changes.
Fixed an issue where threads building snapshots would block when CDC was constructing full Schema snapshots.
Fixed an issue where automatic FORCE INDEX failed due to missing backticks (`) for indexes containing reserved keywords.
Fixed incorrect results caused by column disorder after partition pruning when using Lookup Join (BKAJoin) optimization for statements containing Null-Safe equals operator (<=>). For more information, see Lookup Join (BKAJoin).
Fixed residual DML pushdown flags when changing lock-free column types.
Fixed an issue where ALTER TABLE column rename operations would hang indefinitely when new column names had different case than original names.
Fixed an issue where INFORMATION_SCHEMA.TABLE data wasn't updating in real-time when DN node engine version was MySQL 8.0.
Fixed errors when querying INFORMATION_SCHEMA.STATISTICS table in PREPARE mode.
Fixed columnar index table creation failures caused by default table group reassignment triggered by partition changes.
Fixed potential unexpected results when filtering aggregation results without grouping.
Fixed columnar archive table creation failures when time column values in TTL tables were zero or empty.
Fixed SQL parser issues with ALTER statements containing implicit table groups and incorrect handling of marking statements.
Fixed CDC downstream synchronization errors caused by random suffixes in generated CDC SQL during dynamic CCI partition addition for TTL tables.
Fixed unexpected DirectPlan pushdown behavior in cross-database single table INSERT SELECT operations.
Fixed issues with creating and querying database users through Navicat.
Fixed continuous Warning prompts when connecting to databases through DataGrip.
Fixed inability to query database views through DBeaver.
Fixed re...

Read more

polardbx-sql-5.4.19-20240625_17192948

25 Jun 07:30
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Support the INSERT INTO TABLENAME() VALUES() syntax.
Support using tableless UNION in the UPDATE SET clause.
Optimize the logic for REPLACE pushdown judgment to support the pushdown of REPLACE statements under Read Committed (RC) isolation level in certain scenarios.
Prohibits the execution of DDLs without specifying a SCHEMA in the INFORMATION_SCHEMA database.
Support physical replication of encrypted tables.
Introduce support for expansion and shrinkage operational windows.
Support specifying KEY_BLOCK_SIZE and other parameters related to table compression when creating tables.
Optimize the execution speed of creating Global Secondary Indexes (GSI) and altering table partition keys.
Support multi-statement modifications in ALTER TABLE to be compatible with MySQL.
Optimize the index selection logic by rejecting Global Secondary Indexes (GSI) that cannot use local indexes for DML operations on a single table.
Eliminate redundant GROUP BY UK.
Enhance the speed and reduces CPU usage for online column type changes on compute nodes.
Improve the performance of statistical estimation for IN expressions in IN Values scenarios.

Bugfix

Fix issue where single-table sample hints in statistical information do not take effect.
Fix issue where OMC 2.0 might cause incorrect routing of existing UGSI data.
Fix issue causing foreign key constraint addition to fail when handling self-referencing table indexes and character set checks.
Fix parsing error when values are too large in LIMIT x, y.
Fix error when migrating ugsi with physical replication enabled.
Fix failure when performing lock-free column changes on single tables and broadcast tables.
Parser disables parsing private DDL in global Binlog Query Event comments to prevent downstream DDL application errors.
Fix issue where MDL lock cleanup during DDL execution could lead to ineffective transaction draining and data inconsistency.
Fix issue where INSERT IGNORE might produce a Duplicate entry error during expansion or shrinkage.
Fix issue in MPP mode where result sets are not closed correctly, leading to backend connections hanging.
Fix incorrect recommendations given by inspect index in certain scenarios.
Fix issue where inner join-outer join reorder may lead to incorrect results.
Fix potential unexpected failure of DDL when auto_increment column contains records with value 0.
Fix issue where upgrading from standard to enterprise edition fails to import metadata if database name ends with s or S.
Fix error when executing DDL with ALTER TABLE REMOVE PARTITIONING combined with options.
Fix issue where port resource swapping in low resource scenarios on storage nodes could lead to misuse of instance-level connection pools with private protocols.

发布说明

特性更新

新增支持INSERT INTO TABLENAME() VALUES() 语法。
新增支持在UPDATE SET子句中使用无表UNION的语法。
优化逻辑REPLACE下推判断,支持RC隔离级别下的部分场景下推REPLACE语句。
禁止在INFORMATION_SCHEMA库中执行不指定SCHEMA的 DDL。
新增物理复制支持加密表。
新增支持扩缩容运维窗。
创建表时新增支持指定KEY_BLOCK_SIZE等与表压缩功能相关的参数配置。
优化创建GSI以及表分区键变更的执行速度。
新增支持alter table兼容MySQL的多语句修改。
优化索引选择的逻辑,对于仅涉及一张表的DML,拒绝使用无法走局部索引的GSI。
优化掉冗余的group by uk。
优化在线列类型变更执行速度以及计算节点CPU占用 情况。
优化IN Values场景下IN表达式统计信息估算的性能。

问题修复

修复统计信息单表sample hint不生效的问题。
修复OMC 2.0可能会导致UGSI存量数据路由错误的问题。
修复在处理自引用表索引及字符集检测时,导致外键约束添加失败的问题。
修复LIMIT x, y当数值过大时解析报错的问题。
修复开启物理复制后迁移ugsi报错的问题。
修复对单表和广播表进行无锁列变更时会执行失败的问题。
Parser关闭解析全局Binlog Query Event中注释的私有DDL,防止下游apply DDL出错。
修复执行DDL时,MDL锁清理存在判断失误导致事务排空失效,引入的数据不一致问题。
修复扩缩容过程中,insert ignore可能出现Duplicate entry报错的问题。
修复MPP模式下结果集没有正确关闭导致后端连接卡死的问题。
修复inspect index在个别场景下给出的建议错误的问题。
修复inner join-outer join reorder可能导致结果不正确的问题。
修复auto_increment列存在值为0的记录时,DDL可能非预期失败的问题。
修复标准版升企业版时,库名以s或S结尾导致导入元数据失败的问题。
修复alter table remove partitioning同时指定option时DDL执行报错的问题。
修复低资源场景下存储节点端口资源互换导致私有协议实例级连接池误用的问题。

polardbx-sql-5.4.19-20240428_17142882

20 May 02:38
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Optimize index selection. For DML operations involving only a single table, the use of GSIs that cannot leverage local indexes is rejected.
Add support for multiple statement modifications in ALTER TABLE compatible with MySQL.Optimized the execution speed of online column type changes and compute node CPU usage.
Improve the cardinality estimation of long strings.
Optimize redundant GROUP BY queries on unique keys (UK).
Support the 'check columnar' command to check data consistency in column storage
Add new binlog-related commands like 'show full binary logs' and 'show full master status'.
Reduce CPU consumption of REPLACE/UPSERT statements on tables with GSIs/UGSIs.
Improve the logic for constructing TopN statistics.
Optimize the creation logic for metadata queries, reducing dependencies.
Unify the plan cache expiration time for read-only and primary instances to a default of 12 hours.
Add the Online Modify Column 2.0 feature.
Optimize the decorrelation logic for subqueries, ignoring the impact of ORDER BY clauses without LIMIT in subqueries.
Add explicit definition for predefined table groups of 'create tablegroup #tgName' command.
Optimize online column type modification to reduce the change time.
Add the ability to stream results during sampling.
Support atomic submission for adding/removing columns, adding/removing indexes, and modifying columns in DDL operations pushed down to DN across multiple shards.
Add support for committing single-instance transactions and XA transactions by acquiring commit timestamps.
Add a feature to show specific reasons when ANALYZE TABLE fails.
Add the ability for ANALYZE TABLE to use columnar tables to accelerate the collection of statistical information.
Add a full verification feature for replicas.
Discontinue the use of HLL when data is clearly abnormal by refining its judgment logic.
Support statistical information in providding limited predictions for uncollected segments of time columns.
Optimize the query performance of the information_schema.columns view.
Support dynamic adjustment of the maximum length for partition table partition names.
Add the SKIP_PHYSICAL_ANALYZE parameter to skip DN's analyze operation during ANALYZE TABLE.
Optimize the ANALYZE TABLE logic to prevent the collection of statistics on GSIs.
Add support for the cohash partitioning strategy for the Auto library.
Optimize error messages after exceeding the limit for Prepare statements within a single CN connection.
Update the version number prefix returned by select version(), upgrading from 5.6.29 to 5.7.25.
Support transaction log cleanup using the AB table scheme by default on new instances.
Optimize index selection in xplan by adopting an adaptive strategy to reduce incorrect choices.
Add the capability to isolate execution plans by instance.
Address the slow table creation issue for the AUTO database when the number of tables in the table group is high.
Optimize table creation times for over 2000 tables in the same table group within the auto database.
Optimize verification speed for data migration in certain scenarios.
Optimize execution plans for IN queries on UK columns when statistical information is incorrect.
Optimize sharding push-down scenarios to hit xplan cache and speed up high concurrency performance.
Add the plan_cache view to show execution plans under the default database.
Optimize the creation and deletion process of stored procedures to prevent metadata residue.
Add a switch to uniformly display database and table names in lowercase, which is turned off by default.
Optimize the issue of slow table creation with specified Locality as the number of tables increases.
Optimize the slow process of adding global secondary indexes to TTL tables.
Optimize the efficiency of concurrent table creation in auto mode.

Bugfix

Fix the issue that caused metadata import to fail when upgrading from the standard edition to the enterprise edition if the database name ended with 's' or 'S'.
Fix the error that occurred when executing DDL with both 'alter table remove partitioning' and an 'option' specified at the same time.
Fix the issue where 'insert ignore' might result in a 'Duplicate entry' error during scaling in and out processes.
Fix the issue where result sets were not properly closed in MPP mode, causing backend connections to freeze.
Fix a very rare chance of data inconsistency when executing DDL operations.
Fix unexpected failures of DDL when records with a value of 0 existed in an auto_increment column.
Fix incorrect results that could arise from the reordering of inner joins and outer joins.
Fix incompatibility issues with transaction types that might occur after upgrading an instance with hotspot updates enabled.
Fix the issue where 'inspect index' gave incorrect suggestions in certain scenarios.
Fix a mishandling problem of instance-level connection pools due to swapping port resources of storage nodes in low-resource scenarios.
Fix the issue that directly analyzing comments containing private DDL, preventing errors during DDL synchronization.
Fix the issue where constant expression folding might lead to incorrect selectivity estimation.
Fix the error that occurring when executing DML on foreign key tables.
Fix incorrect calculation results for hex/length functions on blob types.
Fix the issue where CDC DN list computations could be incorrect during simultaneous scaling of different storage pools.
Fix the issue where statistic collection would fail if a column named 'x' existed in the table.
Fix the issue where transaction log cleaning frequency was too high for instances not in the GMT+8 time zone.
Fix an inability to perform column pruning for window functions using count(*).
Fix the issue of duplicate index names between GSI and Local Index.
Fix the error that occurred when creating tables with partition columns containing backtick characters in the AUTO library.
Fix the issue where data validation failures could happen during scaling or UGSI creation processes when using 'insert ignore (returning)'.
Fix the issue where SQL could still execute successfully with multiple database names in a 'drop table' statement.
Fix a failure to create UGSI when the index name contained special characters.
Fix the errors during the execution of distinct count on multiple columns.
Fix the issue where the statistics correction feature failed due to case sensitivity.
Fix calculation errors within Row expressions.
Fix the 'show index from' statement displaying physical table names instead of logical ones.
Fix the issue where physical shards might not be found after interrupting a 'rename table' operation.
Fix routing errors caused by truncation of primary key columns under primary key splitting.
Fix the non-clearance of plan cache after changes to a view.
Fix the issue where 'inspect index' was unable to diagnose when the current database contained views.
Fix incorrect diagnostic strategies for certain key-partitioned Global Indexes with the index diagnostic feature.
Fix an unexpected pause in DDL when modifying the type of a split key column in a global unique index.
Fix the inability to expand capacity after upgrading from the standard to enterprise edition if the database name exceeded five characters.
Fix occasional failures of 'rename table' operations on TTL tables.
Fix the issue of the index recommendation feature suggesting names that were too long.
Fix partition routing issues caused by incorrect calculation results from CoHash's Right partition function.
Fix the issues where the whitelist manager does not interrupt promptly when errors occur at a low probability during metadata initialization on CN, leading to the loading of incorrect whitelist metadata.
Fix the errors encountered when executing SELECT statements in the Auto library without specifying table names.
Fix the errors that occur when pushing down subqueries made up of multiple single-table layers.
Fix concurrency safety issues with xplan generation.
Fix abnormal behavior when there are multiple identical columns present in an INSERT statement.
Fix the NullPointerException (NPE) errors during the execution of InfoSchemaTableAccess.
Fix count errors in the textual prepare protocol during deallocate operations.
Fix compatibility issues with the default charset modification syntax in ALTER TABLE.
Fix incorrect IO calculation issues for constant true conditions.
Fix disordered matchings in subqueries with three or more join conditions.
Fix inconsistencies in CN statistics caused by DDL operations.
Fix thread leaks caused by sending ping requests in binlog dump connections.
Fix the issue where creating ddl sequences clears the baseline of the entire schema.
Fix NullPointerException (NPE) errors during the execution of certain DML operations in the MovePartition process for subpartitions.
Fix the issues where SHOW CREATE TABLE displays incorrect values for auto_increment.
Fix the issues where transaction may leaks when a connection is KILLED.
Fix the issues where fully pushed-down execution plans enter the Stored Procedure Manager (SPM) incorrectly.
Fix the issues where the Cost-Based Optimizer (CBO) might fail to push down aggregates (agg) to GSI.
Fix failures in the collection of statistical information.
Fix the issue where execution plans could not be deleted normally in spm
Fix an issue where the inspect index function calculated the GSI distinction incorrectly.
Fix execution failures when altering the type of a partition column with uppercase column names present.
Fix the issue where information in some information_schema was not updated after foreign key changesUpdates information in INFORMATION_SCHEMA correctly after foreign key changes.
Fix the issue where json was not supported in DML logic execution
Fix the issue where GSI related data of TableDetail view would be lost after Tru...

Read more

polardbx-sql-5.4.18-16986514

01 Nov 03:46
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Added support for foreign key constraints.
Added support for modifying user high-privilege accounts.
Added support for SQL Log recording Error Code.
Added support for Create Table [As] Select syntax.
Added view information_storage_status to obtain real-time monitoring of GMS and DN nodes.
Added HashWindow execution mode to improve the performance of window functions.
Optimize the heat map function to reduce time consumption.
Change the statistical information sample collection frequency to once a day.
Optimize the deserialization performance of secondary partition DDL tasks.
Support using the Decimal type with a specified decimal precision of 0 as the partition column in AUTO mode partition tables.
Added support for reload datasources in Private Protocols.
Added support for compressed storage of large-scale fragmented DDL tasks and optimizes the scheduling response time of the DDL engine.
Added support for quickly interrupting verification tasks during expansion and contraction.
Added support for useAffectedRows .
Added support for creating global index syntax in automatically partitioned tables without specifying a partition key.
Added support for using Decimal as the partition column when creating a partition table.
Optimize the use of random thread pool buckets for scheduled tasks to prevent threads from filling up a single bucket.
Optimize the performance of load data under Private Protocols.
Optimize the logic of TTL table pre-partitioning.
Optimize the interrupt logic of pause/cancel/rollback rebalance ddl.
Optimize the archiving scheduled task of TTL table.
Optimize the execution efficiency of DDL when too many tables in the same tablegroup.
Added support for default_single=‘on’ parameter in AUTO mode database, which single table creates by default automatically breaks up to each DN.
Added support for cross-database single table pushdown in non-transaction scenarios.
Added lock wait detection under Private Protocols to automatically kill long transactions that block physical DDL for more than 15 seconds.
Optimize the support for changing table group-level partitions and table-level partitions in the list default sub-partition scenario.
Optimize the operation and maintenance window of cold data archiving to prevent abnormally interrupted archiving tasks from being started outside the operation and maintenance window.
Optimize the exception handling logic of cold data archiving tasks.
Added support for including double quotes in the password when creating a user.
Optimize the default naming logic of optimized indexes to consistent with MySQL.
Optimize the logic of auto-savepoint, and turned on by default.
Optimize the return information when ordinary accounts execute set global and not take effect. After optimization, a warning will be reported.
Added support for displaying the status of all tables and GSIs in the current library when executing the show table replicate status.
Added support for using set cdc global key=value to set CDC-related system variables.
Optimize the physical MDL lock wait detection mechanism.
Supports session variable settings for computing nodes in MPP mode.
Added parameter GROUP_CONCAT_MAX_LEN for computing nodes and storage nodes.
Supports the memoryization of audit logs and optimizes the audit log collection process.
Ignore backticks before and after keywords in SQL rate limiting.
Support index inspection to diagnosis inefficient indexes. For more information, please refer to the documentation on Index Inspection.
Optimize the compatibility of the collation field in the OSS table information_schema tables view.
Optimize the behavior after physical DDL is interrupted or canceled.
Optimize the judgment logic of IN query to determine whether it hits the plan cache.
Supports to adjust the thread pool size and timeout of fetch lsn.
Optimize the configuration method of the server_id parameter. The server_id will always remain unchanged when upgrading, changing configurations, and HA.
Added BASELINE HINT BIND statement to support binding DML execution plan.
Added support for changing local partition rules for TTL tables bound to archive tables.
Added support for generate column and function index.
Added the Instant Add Column enable by default.
Added support for hiding and displaying global index.
Added support for using standby nodes as backfill to reduce the impact on business.
Added support for key partition splitting to specify the number of new partitions.
Supports alter table drop primary key and alter table add primary key in AUTO mode database.
Added support for modifying the split key column type.
Added archive table support for some DDL.
Optimize the function and performance of New Sequence.
Optimize the efficiency of returning packets for large result sets.
Added deprecate EOF support for MySQL communication protocol.
Optimize permission control and only support high-privilege accounts to execute the set global statement to set global variables and take effect.
Added recursive CTE function. For more information, please refer to the documentation on CTE.
Supports automatic dispersion for table groups declared as balance_single_table=on during Rebalance.
Added support for hotspot splitting of tables with subpartitions.
Added support for GB18030 character set, including collation gb18030_chinese_ci and non-default collation gb18030_bin.
Optimize DDL disabling logic in archive tables.
Optimize the join execution plan for the <=> condition in some scenarios.
Supports renaming multiple tables at the same time.
Added support for the computing layer parameter CN_GROUP_CONCAT_MAX_LEN, which is used to change the group concat behavior of computing nodes.
Added support for RC isolation level in standby database read scenarios in XA transactions.
Optimize the logic of modifying the expiration time of the TTL table.
Optimize the logic of index advisor to avoid recommending indexes when statistical information is missing and index column selectivity is low.
Added new syntax to support executing SQL statements on a specified DN shard.
Improve the semantics of the LAST_INSERT_ID() function to be consistent with MySQL.
A new switch is added to display library names and table names in lowercase. This switch is turned off by default.
The start time of the operation and maintenance window configuration is allowed to be later than the end time.

Bugfix

Fixed non-standard output format of Error Code.
Fixed the information_schema.plan_cache view returned duplicate values and could not display cache parameters.
Fixed the problem of parsing failure caused by including the encryption keyword in create table.
Fixed the optimizer error caused by semantic verification exception when View was included in a DML statement.
Fixed partition hint does not support session variable statements.
Fixed incorrect format of result returned by current_user function.
Fixed some DAL instructions had concurrency security risks in high concurrency scenarios.
Fixed error caused by misjudgment of Agg query index coverage.
Fixed error caused by table replace json with unique key.
Fixed the issue where the PlanCache size modified by the resize command was not stored in metaDB, causing the PlanCache size to remain at the default value after CN restarted.
Fixed the problem of data loss after modifying values in List partition.
Fixed error may be reported when executing within a transaction when SQL contains constant false expressions.
Fixed the issue of possible data inconsistency when there are hanging transactions during expansion and contraction.
Fixed the issue where affected rows were incorrect in complex DML with GSI after useAffectedRows was turned on.
Fixed the problem of nested BKAJoin probability errors.
Fixed the problem of a small probability of reporting errors when obtaining TSO with private protocols.
Fixed the issue where the limit on the maximum number of physical partitions in the partition table did not take effect correctly after using secondary partitions.
Fixed the issue where DDL execution results occasionally returned errors in network jitter scenarios.
Fixed the problem of occasional system table deadlock error when executing DDL at high frequency.
Fix the issue of NullPointerException that may occur in the table_details query of the InformationSchema due to case sensitivity problems.
Fixed an issue where the optimization of converting subqueries to semi-join in some scenarios may cause query errors.
Fixed the problem that check global index can be executed concurrently.
Fixed the problem of check global index show error reporting.
Fix the issue of the read-only instance DN that is not added to the main instance cluster, and the main instance CN holding the connection pool.
Fixed the issue where create table with gsi failed to execute and could not be automatically rolled back in some cases.
Fixed the issue where some DAL instructions had concurrency security risks under high concurrency conditions.
Fixed the issue where the executor did not choose to go to xplan in some scenarios.
Fixed the crash issue caused by using xplan to access tables with generated columns.
Fixed the issue of NullPointerException that occurs in the SHOW CREATE DATABASE command for an existing AUTO database in certain scenarios.
Fixed the issue where private protocol chunk transmission fails to recognize a negative sign when there is a type deduction error in converting a string to an integer.
Fixed the issue where the scaling process may fail when there are too many database tables.
Fixed routing calculation problem in BKAJoin scenario.
Fixed the display error problem of information_schema.table_constraints view for tables without primary keys, composite indexes, and global indexes.
Fixed the issue ...

Read more

polardbx-sql-5.4.15-16792770

23 Mar 08:22
f2e4a4b
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Add support for information_schema privileges system tables compatible with MySQL.
Add support for viewing space usage of archive tables.
Add support for moving partitions of original tables when binding with archive tables.
Add support for partition hint.
Add support for high privilege users to kill other connections.
Add support for Binary and VarBinary types as partition keys in AUTO mode databases.
Optimize logic for creating time column indexes for auto partition tables.
Optimize private protocol probing process.
Optimize query logic with AGG functions under TSO transactions.
Optimize global index selection logic.
Optimize performance under JDBC protocol.
Optimize speed of row count collection.

Bugfix

Fix the issue where some views queries on information_schema resulted in errors.
Fix the issue where load data statements resulted in errors when specifying character sets without quotation marks.
Fix the issue where mock mode did not support UPSERT.
Fix the issue where unique global indexes may have inconsistent data with the main table during creation or data migration.
Fix the issue where single-point queries on partition keys could result in incorrect query results due to parallel writes in AUTO mode databases.
Fix the issue where altering the AUTO_INCREMENT property of a single table in DRDS mode databases automatically associated with Sequence.
Fix the issue where type matching errors occurred in UPSERT when the Update list order differed from table definitions.
Fix the issue where no error message was displayed when Kill Connection failed.
Fix the issue where information_schema permission verification failed multiple times in prepare mode queries.
Fix the issue where distributed transaction recovery and excessive suspended transactions may lead to DN deadlocks when DN sessions are full.
Fix the issue where uuid and uuid_short functions were calculated only once.
Fix the issue where unexpected errors or legacy DDL tasks happen in some timeout or interruption scenarios.
Fix the issue where pruning led to excessive CPU usage.
Fix the issue where analyze table statements caused CN out of memory.
Fix the issue where spm params cleaning failed under high concurrency.
Fix the issue where AGG functions failed because SQL_SELECT_LIMIT sent to DN.
Fix the issue where the main index ndv was not processed during analyze of tables.
Fix the issue where physical tables could not be found after renaming.
Fix the issue where can not update rows with a primary key value of "0000-00-0000:00:00" in JDBC protocol.
Fix the issue where sample tables were not synced in the scheduled statistics information task.
Fix the issue where expired logic judgment bugs caused sample tasks to fail to be initiated.
Fix the issue where private protocol network layer was unexpectedly disconnected in poor network environments.
Fix the issue where MPP query mode on read-only instances was prone to deserialization failures.
Fix the issue where SQL_SELECT_LIMIT set to default resulted in errors.
Fix the issue where <=> rcausing partition pruning to be ineffective and requiring full table scanning.
Fix the issue where CURRENT_TIMESTAMP was not updated in specific UPSERT scenarios.
Fix the issue where errors occurred in some Semi-join scenarios with GSI.
Fix the issue where some DAL statements had incorrect table-level permissions.
Fix the issue where syntax errors occurred when host was empty in set password statements.
Fix the NPE issue in RawString when receiving null values.
Fix the issue where alter table remove partitioning failed when the primary key and sharding key were the same.
Fix the issue where unexpected primary key conflicts during data migration could slow down the process.
Fix the issue where large-scale DN nodes may stall and fail when HA is enabled simultaneously.
Fix the issue with decimal value processing during the execution of the sum aggregate function.
Fix the issue where the ENABLE_BACKGROUND_STATISTIC_COLLECTION configuration did not take effect.
Fix the issue where implicit primary keys were exposed during show full columns, causing sharding JDBC to fail.
Fix the issue where errors occurred when executing REPLACE and UPSERT commands on tables with JSON-type columns.
Fix the issue where the found_rows function did not calculate the correct result in stored procedures.
Fix the issue where the topN was lost in statistics information when column names were in uppercase.
Fix the issue where the DDL task may fail and cannot continue or be rolled back when rebuilding composite primary keys and deleting some primary key columns with alter table commands.
Fix the issue where the json_extract function incorrectly returned the string "NULL".
Fix the issue where alter table drop column may result in the inability to access the table.
Fix the issue where Lookup Key in BkaJoin with GSI in AUTO mode databases was inferred incorrectly.
Fix the issue where private protocol displayed error messages when there were insufficient backend connections.
Fix the issue where private protocol may deadlock in high-load CN.
Fix the issue where archive table queries may occasionally hang.
Fix the issue where probes in private protocols may terminate connections due to large packet transfers.
Fix the issue where multi-table joins in DRDS mode has incorrect execution plans.
Fix the issue where TTL tables became invalid after RENAME.
Fix the issue where implicit type conversion processing errors occurred in varchar-type partition keys when writing negative numbers.
Fix the issue where executing materialized subqueries with an estimated number of rows of 500 may result in incorrect execution plan construction.
Fix the issue where private protocol probing may cause connection shaking due to a 10-minute delay.
Fix the issue where permission verification failed when analyzing tables across databases.
Disable alter table convert to character set.
For auto partition tables, the default partition number for their global secondary indexes has been changed from instance level to table level.

发布说明

特性更新

新增 information_schema 权限系统表兼容 MySQL。
新增支持查看归档表占用空间。
新增支持在绑定归档表的情况下对原表进行 move partition。
新增 partition hint 功能。
新增支持高权限用户 kill 其他连接。
新增 AUTO 模式数据库中分区键支持 Binary 和 VarBinary 类型。
优化默认主键拆分表建立时间列索引的逻辑。
优化私有协议探活流程。
优化 TSO 事务下带 AGG 函数的查询逻辑。
优化全局索引的选择逻辑。
优化 JDBC 模式下的性能。
优化 row count 采集的速度。

问题修复

修复 information_schema 的部分视图查询报错的问题。
修复 load data 语句指定字符集时不加引号报错的问题。
修复 mock 模式不支持 UPSERT 的问题。
修复 unique global index 在创建或者数据迁移过程中,可能出现与主表数据不一致的问题。
修复分区键单点查询有概率因 Auto 模式数据库写并行导致查询结果不正确的问题。
修复 DRDS 模式数据库中通过 ALTER TABLE 变更单表的列 AUTO_INCREMENT 属性时,自动关联 Sequence 的问题。
修复 UPSERT 中 Update list 顺序与表定义不同时,类型匹配报错的问题。
修复 Kill Connection 失败时没有任何报错的问题。
修复 prepare 模式下,多次查询 information_schema 权限校验失败的错误。
修复分布式事务恢复、悬挂事务过多且 DN 会话打满时可能导致 DN 死锁的问题。
修复 uuid 和 uuid_short 函数仅计算一次的问题。
修复在一些超时或中断场景下非预期报错或遗留 DDL 任务的问题。
修复 pruning 导致占用过多 CPU 的问题。
修复执行 analyze table 语句时计算节点内存超载的问题。
修复 spm params 高并发下的清理问题。
修复 SQL_SELECT_LIMIT 下发至数据节点引发的 AGG 函数正确性问题。
修复统计信息在某表没有条件访问时,主动 analyze 没有处理索引 ndv 的问题。
修复 rename 之后找不到物理表的问题。
修复包含 GSI 的表上无法通过 JDBC 更新主键为”0000-00-00 00:00:00“值的数据行的问题。
修复统计信息定时任务 sample table 没有 sync 的问题。
修复过期逻辑判断 bug 导致 sample 任务无法发起的问题。
修复网络环境较差时,私有协议网络协议层非预期断开的问题。
修复 MPP 查询模式在只读实例上易出现反序列化失败的问题。
修复 SQL_SELECT_LIMIT 设置为 default 时报错的问题。
修复 <=> 导致 分片裁剪失效而采用全分片扫描的问题。
修复特定情况下 UPSERT 没有更新 CURRENT_TIMESTAMP 的问题。
修复带 GSI 的部分 Semi-join 场景产生报错的问题。
修复部分 DAL 语句对应表级别权限不正确的问题。
修复 set password 语句当 host 为空时语法报错的问题。
修复 RawString 收到 null 值时的 NPE 问题。
修复 alter table remove partitioning 在主键和拆分键相同时失败的问题。
修复数据迁移过程中,可能因为非预期主键冲突而降低数据迁移速度的问题。
修复大规模 DN 节点同时 HA 时有概率卡顿并失效的问题。
修复聚合函数 sum 执行时的 decimal 数值处理问题。
修复 ENABLE_BACKGROUND_STATISTIC_COLLECTION 配置不生效的问题。
修复执行 show full columns 时暴露隐式主键导致 sharding jdbc 访问失败的问题。
修复表中含有 JSON 类型列时,执行 REPLACE、UPSERT 命令时报错的问题。
修复 found_rows 函数在存储过程中计算结果不正确的问题。
修复列名大写时,统计信息中 topN 丢失的问题。
修复执行 Alter Table 命令重建复合主键并删除部分主键列时,DDL 任务可能失败且无法继续或回滚的问题。
修复 json_extract 函数错误地返回了字符串 "NULL" 的问题。
修复执行 alter table drop column 可能无法访问该表的问题。
修复 AUTO 模式数据库中,包含 GSI 的 BkaJoin 执行过程中, Lookup Key 推导出错的问题。
修复私有协议在后端连接数不足时的报错信息。
修复私有协议在 CN 高负载场景下小概率死锁的问题。
修复归档表查询低概率卡死的问题。
修复私有协议在传输大包时,可能出现探活任务错误终止连接的问题。
修复 DRDS 模式下的多表 join 生成错误的执行计划的问题。
修复 TTL 表 RENAME 之后,TTL 表失效的问题。
修复 varchar 类型的分区键在写入负数的情况下,隐式类型转换处理出错的问题。
修复子查询(subquery)物化(materialize)执行模式估算子查询行数为 500 时,执行计划构建错误的问题。
修复私有协议探活可能延迟 10 分钟进而造成连接抖动的问题。
修复跨库 analyze table 权限校验失败的问题。
禁止 alter table convert to character set。
针对默认主键拆分表,将其全局二级索引的默认分区数由实例级别修改为表级别。

polardbx-sql-5.4.15-16724034

30 Dec 13:02
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Update doc with new name of components
Update docker file with new image name

Bugfix

Fix baseline throw NPE while doing sync in some case
Fix test case failure caused by not update auditLog after DDL executed

发布说明

特性更新

更新文档统一组件名称
更新 Dockerfile ,使用改名后的镜像

问题修复

修复 部分场景下 Baseline 在 sync 过程中产生 NPE 的问题
修复 DDL 执行完成后未更新权限信息的导致部分测试用例报错的问题

galaxysql-5.4.15-16669515

28 Oct 11:17
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

Add New Sequence: a globally unique, monotonically increasing, high-performance sequence.
Support for specifying and modifying locality properties in AUTO mode.
Support partition-level heatmap.
Support for automatic partition splitting.
Support stored procedure.
Suuport user defined function.
Support partitioned table change at table-level.
support insert overwrite.
Support online modification of column types.
Support server-side cursor.
Add sharding advise syntax to recommend table splitting method.
Support archive history of DDL task.
Support STATEMENTS_SUMMARY and STATEMENTS_SUMMARY_HISTORY table.
Add ALTER TABLE PARTITIONS syntax to modify the table's number of partitions.
Support automatically pause scheduled tasks of TTL-table.
Support configurate and detecte password complexity and expiration date.
Add audit user's login and logout (disabled by default).
Optimize read and write performance of auto-mode table.
Optimize memory usage of the Scan operator during streaming mergesort.
Optimize type comparison logic of new partition table.
Optimize the logic of set global variables.
Optimize the speed of data migration when creating global secondary indexes, scaling and shrinking, changing partitions, and so on.
Optimize the execution of insert, update, delete, and select statements.
Optimize memory usage of query with in clause.
Optimize logic of permission verification.
Optimize the logic of change partitions on auto-partitioned tables.
Remove the restriction that user tables cannot have the same name as system tables.
Optimize the implementation of optimize table.

Bugfix

Fixed an issue where read-only traffic could not be switched back to the primary node in read/write splitting scenarios when the log-copy thread is interrupted.
Fixed an issue that the alias of having clause in physical SQL is incorrect.
Fixed an issue that SQL throttling might cause client blocking.
Fixed an compatibility issue of SQL throttling when table name with backticks.
Fixed the compatibility issue when cachePrepStmts and useServerPrepStmts were enabled at the same time and the mysql connector is 8.0.
Fixed the broadcast shuffle selection issue in Outer Join in MPP mode.
Fixed an incorrect result issue of union distinct query in MPP mode.
Fix an icompatibility issue of primary key for Navicat.
Fix an error of 'IN' statement in Prepare mode.
Fix that the value of 'Current timestamp' don't change when used in the same session.
Fix an error of 'Update' statement for BINARY type.
Fix an incurrent result issue of JSON operator '->'.
Fix an incorrect result issue of to_base64 function when parsing binary variables
Fix an array out of bounds issue of HashGroupJoin operator.
Fix an incorrect result issue of AES encryption function.
Fix an incorrect result issue of covering index.
Fix an incorrect result issue of window functions in some cases.
Fix that the table name is not correctly replaced in single table Update statement with subquery.
Fix a NPE issue in multi table Update command.
Fix an occasional error in subquery.
Fix an incorrect result issue of yyyyweek in a range query which cross years.
Fix that the actual index selected is different from 'Explain Execute' in some case.
Fix an unexpected pushdown issue of non pushdown functions in some scenarios.
Fix an error when trying to create an user without host.
Fix an error of escape character of JSON_QUOTE function.
Fix a NPE issue of 'Explain Optimizer'.
Fix a lock wait timeout issue when recording physical DDL status during DDL task execution.
Fix an empty or incomplete result issue of 'Trace ddl'
Fix an incompatibility issue of 'show rule' in auto partition database.
Fix an index metadata lost issue when adding columns and adding indexes at the same time.
Fix a statistics lost issue of 'Rename Table' or 'Change Columns'.
Fix a plan pollution issue when the comparative object inside changed.
Fix a primary key lost issue of global unique index in auto partition database.
Fix that GSI related indexes are pushed down incorrectly while using 'ignore index' in auto partition database.
Fix that single table cannot be pushed down in the auto partition database.
Fix a NPE issue when initializing sequence in the read-only instance.
Fix an error when changing the column name to a special character.
Fix an error of 'alter table modify column after'.
Fix an error when using constant expressions as partition keys.
Fix an error of 'DROP CLUSTERED GSI'.
Fix an incorrect result issue of month partition function in a range query.
Fix an error of 'Truncate Table' with LOCAL FULLTEXT KEY
Fix a concurrency security issue when unwarping subqueries.
Fix an empty result issue of 'show status'
Fix an incorrect result issue of when join broadcast table and single table in auto partition database.
Fix that read/write separation does not take effect in read-only transactions.
Fix an error of rebalance task when trying to update system tables.
Fix a NPE issue during MDL lock acquisition.
Fix that table name maybe wrong in CDC
Fix an error of executing DDL with CDC.

发布说明

特性更新

新增支持全局唯一、单调递增、高性能的New Sequence。
新增支持在AUTO模式下指定和修改locality属性。
新增分区热力图功能。
新增支持分区自动分裂。
新增支持存储过程。
新增支持自定义函数。
新增支持表级别的分区表变更。
新增支持Insert Overwrite语法。
新增支持在线修改列类型。
新增支持服务端的游标。
新增sharding advise语法进行表的拆分方式推荐。
新增DDL任务历史数据归档。
新增支持STATEMENTS_SUMMARY和STATEMENTS_SUMMARY_HISTORY元数据库表。
新增支持ALTER TABLE PARTITIONS语法,一键修改分区数。
新增支持自动暂停TTL表的定时任务。
新增支持密码复杂度、有效期的配置和检测。
新增支持用户的登入登出审计功能(默认关闭)。
优化AUTO库的读写并行度及其读写性能。
优化Scan算子在流式归并排序过程中的内存使用。
优化新分区表DML类型比较逻辑。
优化set global变量的设置逻辑。
优化创建全局二级索引、扩缩容、分区变更等操作时数据迁移的速度。
优化insert、update、delete和select语句的执行性能。
优化IN查询内存占用过高的问题。
优化权限校验流程。
优化默认自动分区的表进行分区变更的逻辑。
解除用户表不能与系统表同名的限制。
优化Optimize table的实现。

问题修复

修复当日志复制线程中断时,读写分离场景中只读流量无法切回主库的问题。
修复物理SQL的Having别名语法不正确的问题。
修复SQL限流可能导致客户端阻塞的问题。
修复SQL限流匹配表名时带反引号,无法匹配表名的问题。
修复8.0驱动下同时开启cachePrepStmts和useServerPrepStmts时的兼容性问题。
修复MPP执行模式下Outer Join的Broadcast Shuffle选择问题。
修复union distinct查询在MPP执行模式下查询结果不正确的问题。
修复PolarDB-X对于Navicat主键元信息的兼容性。
修复Prepare模式下,IN语句转子查询报错的问题。
修复同一个会话中使用Current timestamp时,值不会变化的问题。
修复执行UPDATE语句时BINARY类型处理不正确的问题。
修复JSON操作符->在表达式中解析不正确的问题。
修复to_base64解析binary变量不正确的问题。
修复HashGroupJoin算子存在数组越界的问题。
修复AES加密函数返回结果不符合预期的问题。
修复使用覆盖索引查询时返回错误结果的问题。
修复某些情况下窗口函数计算错误的问题。
修复单表Update语句时子查询的表名没有被正确替换的问题。
修复Update命令中的多表NPE的问题。
修复部分子查询偶发报错的问题。
修复对于yyyyweek跨年周闭区间范围查询分片缺失的问题。
修复私有协议传递执行计划时,Explain Eexcute结果与实际选择索引不同的问题。
修复不可下推函数在某些场景下的非预期下推问题。
修复没有带host的用户创建语句报错的问题。
修复非下推JSON_QUOTE函数的转义字符问题。
修复Explain Optimizer抛空指针的问题。
修复DDL任务执行过程中,记录物理DDL状态时可能发生的Lock wait timeout问题。
修复trace ddl后,可能出现show ddl为空或者不完整的问题。
修复SHOW RULE命令不兼容新分区表的问题。
修复加列同时创建索引后缺失索引元数据的问题。
修复Rename Table或Alter Table变更列后统计信息被清除的问题。
修复Comparative对象变更导致计划污染的问题。
修复AUTO库下全局唯一索引丢失主键信息的问题。
修复AUTO模式数据库中ignore index时GSI相关的索引被错误下推的问题。
修复AUTO模式数据库中单表无法下推的问题。
修复只读实例中Sequence初始化失败上报NPE的问题。
修复ALTER TABLE将列名改为特殊字符时,元数据处理失败的问题。
修复alter table modify after失败的问题。
修复使用常量表达式作为分区键时,缺少语法校验并导致建表失败的问题。
修复执行DROP CLUSTERED GSI失败问题。
修复使用month分区函数时区间范围查询结果不正确的问题。
修复带LOCAL FULLTEXT KEY的表无法truncate的问题。
修复子查询消除时并发安全的问题。
修复show status视图返回空的问题。
修复AUTO模式数据库下广播表与单表Join下推时,选错物理库导致执行报错的问题。
修复读写分离在只读事务下未生效的问题。
修复rebalance任务更新系统表的SQL错误的问题。
修复MDL锁获取过程中抛空指针的问题。
修复CDC打标信息中表名不一致的问题。
修复CDC启动时执行DDL失败的问题。

galaxysql-5.4.15-alpha-1

28 Oct 11:10
Compare
Choose a tag to compare
Pre-release
5.4.15-16669515 release

galaxysql-5.4.13-16615127

26 Aug 11:32
Compare
Choose a tag to compare

RELEASE NOTE

Feature enhancement

support dragonwell11 #66
support bool type #76
support add channel for change replication filter
support add dest applier type for change master
support CI/CD
optimize shutdown.sh script
optimize use metaDb user rather than metaDb root user when initialization
optimize dockfile, use galaxybaseimage
optimize change protoc version to 3.17.3
optimize doc

Bugfix

fix overflow when calc direct memory size.
fix ccl reschedule return error when exception is threw
fix NEVarcharColCharConstVectorizedExpression

发布说明

特性更新

支持 dragonwell11 #66
支持 bool 类型 #76
支持 修改单个主备链路的配置
支持 修改主备链路的写入方式
支持 CI/CD 流程
优化 shutdown.sh 脚本
优化 配置初始化步骤,使用 metadb_user 而非 metadb_root_user 连接元数据库
优化 dockerfile, 使用 galaxybaseimage 作为基础镜像
优化 protoc 版本 到 3.17.3
优化 帮助文档

问题修复

修复 私有协议预分配内存在系统内存过大时,数值计算溢出的问题
修复 被SQL限流设置为等待的查询偶发无法返回的问题
修复 NEVarcharColCharConstVectorizedExpression 错误

galaxysql-5.4.13-16615127-alpha-1

26 Aug 08:55
Compare
Choose a tag to compare
Pre-release
5.4.13-16615127 release