HomeMogDBMogDB StackUqbar
v5.0

Documentation:v5.0

Supported Versions:

Other Versions:

MogDB 5.0.8

1. Version Description

MogDB 5.0.8 is a patch version of MogDB 5.0.0, released on 2024-07-31. It includes new features and defect fixes on top of MogDB 5.0.7, with details as follows:


2. New Features

2.1 Sequential Scan Pre-fetching

MogDB has been optimized for scenarios involving large volumes of data in sequential scans, implementing parallelization between CPU computation and I/O during the scan process. This enhancement maximizes CPU efficiency and delivers higher throughput. The sequential scan pre-fetching supports both AStore and UStore storage engines. With scan pre-fetching enabled, there is a 20% - 80% performance increase for the SeqScan operator in TPCH scenarios, and a 10% - 30% overall end-to-end performance improvement.

Related Page: Sequential Scan Pre-fetching

2.2 UStore Support for SMP Parallel Execution

SMP parallel technology utilizes the multi-core CPU architecture of computers to achieve multi-threaded parallel computing, fully leveraging CPU resources to improve query performance. This feature adds parallel capability support for the Ustore storage engine. In full-table sequential scan scenarios, the query performance nearly linearly increases with the degree of parallelism within the storage bandwidth. Significant performance improvements have also been achieved with SMP in index queries.

Related Page: Ustore SMP Parallel ScanIn-place Update Storage Engine Ustore

2.3 Enhanced Import and Export Capabilities

  1. gs_dump now supports parallel import/export of partitioned tables, achieving a nearly linear multiple increase in performance with the increase of parallelism within the storage bandwidth.

    Related Page: Enhanced Logical Backup and Recovery Efficiency

  2. gs_dump supports backup export of data on standby machines.

    Related Page: gs_dump

  3. gs_dump and gs_restore support the specification of import/export for five basic objects: functions, triggers, types, packages, and procedures.

    Related Page: Support for Specifying Import/Export of Five Basic Objects

2.4 Compatibility Enhancements

  1. In B compatibility mode (MySQL compatibility), support has been added for division operations where the divisor is 0. The error message "division by zero" is now reported at a warning level instead of an error level to prevent SQL execution interruptions. In this scenario, the calculation result returns NULL, consistent with MySQL behavior.

  2. When using connection methods such as JDBC in PBE mode, support is provided for left values in anonymous blocks and the return of OUT/INOUT type data to the corresponding driver end within stored procedures. The use of this feature requires setting the proc_outparam_override option in the behavior_compat_options parameter.

    Related Page: PBE Mode Support for Stored Procedure Out Parameters

  3. Native ECPG (Embedded SQL Preprocessor) has been modified to adapt to the usage and functionality of ORACLE PRO*C, facilitating users to smoothly replace PRO*C with ECPG to implement business logic.

    Related Page: Embedded SQL Preprocessor ECPG

2.5 Logical Replication Support for DDL Operations

Support has been added for generating DDL logs of common table operations and logical decoding of DDL logs, facilitating data migration synchronization software to capture changes to the MogDB data dictionary and enhancing the parallel capabilities of MogDB with heterogeneous databases.

Related Page: Logical Replication Support for DDL Operations

2.6 Enhanced Checkpoint Capabilities

Without significantly impacting database performance, the dirty page flushing capability of MogDB has been optimized to reduce the number of dirty pages within the system. This will greatly reduce the completion time of database switchover operations. Additionally, in the event of an unexpected power loss and database restart, it will also reduce the amount of wal that needs to be replayed, thereby reducing the database startup time.

Related Page: Enhancement of Dirty Pages Flushing Performance


3. Defect Fixes

  1. [4061] Fixed a low-probability database crash issue caused by multi-threaded concurrent writes to the wal log.

  2. [5234] Fixed an issue where procedures were missing after exporting with gs_dump and importing with gs_restore.

  3. [5291] Fixed an issue where functions with two parameters were missing after exporting and importing with gs_dump and gs_restore.

  4. [3961] Fixed an inconsistency issue with group by rollup syntax query results compared to Oracle.

  5. [4543] Fixed an issue where the auto_increment value already in use by a lower version could not be reset to 1.

  6. [4550] Fixed an issue with duplicate uuid_short values in B mode.

  7. [4894] Fixed an error reporting issue with "could not find tuple for trigger 437851" when dropping a trigger function.

  8. [4952] Fixed an issue where SQL statements with distinct and incremental sorting selected a poor plan.

  9. [4992] Fixed an issue where the estimated row count after analyzing a table with zero actual rows was significantly off.

  10. [5138] Fixed an unexpected result issue with the whale plugin when executing SELECT to_timestamp(0) FROM dual;.

  11. [5143] Fixed an issue where the whale plugin's dbms_random.normal() function returned the same value each time.

  12. [5146] Fixed an issue with incorrect tree query filter condition downward propagation.

  13. [5242] Fixed an issue where stored procedure cursor parameters returned null despite actual data being present.

  14. [5244] Fixed an issue where '' returned as 0 after UNION ALL in B mode.

  15. [5293] Fixed an error when executing stored procedures to insert table data.

  16. [5400] Fixed a memory leak issue when updating partitioned tables.

  17. [5642] Fixed an error when using aggregate functions with order by on empty result sets in B mode.

  18. [5680] Fixed a permission denied error for relation (null) when a regular user accessed remote dblink tables.

  19. [5698] Fixed an issue where updating a remote dblink table with an alias was incorrectly identified as a field.

  20. [1073] Added support for accessing and updating external partitioned tables.

  21. [6147] Fixed an error with the fetchsize function when the select - O auto-commit feature was enabled.

  22. [6141] Fixed an unexpected auto-commit issue with select for update when the select - O auto-commit feature was active.

  23. [4470] Fixed an error with "tuple already updated by self" when deleting a table with a foreign key constraint in an Ustore table.

  24. [6305] Fixed a low-probability core issue with gs_dump when parallel exporting partitioned tables.

  25. [5837] Fixed a low-probability data inaccuracy issue with Merge into during concurrent updates.

  26. [6380] Fixed a low-probability database core issue with beatmapheapscan in parallel situations.

Copyright © 2011-2024 www.enmotech.com All rights reserved.