Release 4.2.4
Feature
-
Data Sources
- Supported OceanBase v4.2.2.
- New Oracle data source with support for SQL development, import/export, data masking, object management, change approval.
- New Doris data source with support for SQL development, import/export, data masking, table object management, session management, command-line window, change approval.
-
SQL Development
- 71 common O&M snippets built-in, which can auto-complete in the SQL window and will match database type and version.
- SQL auto-completion supports completing data dictionary/performance view.
- Case sensitivity for schema names, table names, and column names in Oracle mode now consistent with PL/SQL Developer behavior.
- Schema Comparison.
- New Schema Comparison feature added, supporting Schema Comparisons for homogenous databases (OBOracle, OBMySQL, MySQL).
- Supported scope includes table objects, with comparison properties including columns, primary keys, constraints, indexes, partitions, table properties.
- Schema Comparison results provide DIFF preview and change script preview.
- SQL preview results are downloadable and can directly initiate schema synchronization tasks.
-
Online Schema Changes
- Support for adding intermediate columns to tables.
- Support for concurrent index changes during table schema modifications (OceanBase Oracle mode).
- Support for primary key deletion when the table contains unique constraints (OceanBase Oracle mode).
-
Partitioning Plan
- Support for configuring partitioning plan for databases in OBOracle mode.
- Partition field types not only support DATE/TIMESTAMP but also NUMBER/CHAR/VARCHAR2 and other field types.
- Redesigned the partitioning plan strategy configuration page, custom mode can configure any partition upper boundary calculation logic through expressions, support for previewing the execution SQL of the partitioning plan.
- Execution cycle for deleting partitions can be independently configured from the creation partition cycle.
- Data Archiving/Cleaning.
- Support for configuring cleaning tasks for databases in OBOracle mode.
- Support for configuring archiving tasks from OBOracle to OBOracle.
- Support for previewing the actual SQL being executed for data archival/cleaning tasks when initiating the task.
- Data archiving supports custom target table names.
- Data cleaning supports configuring whether to use primary keys. When primary keys are not used, data deletion will directly match the deletion criteria based on indexes, and the task execution process does not need to shard tasks based on primary keys. This can significantly improve the efficiency of cleaning, especially in specific scenarios.
-
Security Standards
- Support for Custom Environment
Customize SQL window standards and SQL check rules for different business scenarios.
When creating a custom environment, choose an existing environment for initial configuration.
Support for configuring tag styles to easily distinguish between different environments.- Three new SQL check rules added
Reserved words should not be used as object names.
Existence of offline (table lock) schema change statements, offline schema changes will result in table locking, impacting business operations.
Existence of TRUNCATE statements, high risk of TRUNCATE tables in production environments.- Default values of risk identification rules in security standards optimized, production environments can be used out of the box.
- SQL window standard adds risk tips for enabling PL debugging in production environments.
- Database-level Access Control.
- Project collaboration adds access control for databases.
- Types of database access permissions include query, export, and modification. It supports granting permissions based on types and setting the validity period of permissions.
- Project developers have default access to all databases within the project, consistent with previous versions.
- Added the role of project participant, with participants by default having no access to any databases.
- Participants can apply for permissions to access databases through tickets.
- Administrators can directly authorize participants with permissions to access databases.
- Administrators can revoke permissions to access databases from participants.
-
Notifications Messages
- Project collaboration adds message notification feature.
- Supported event types include ticket approval status change, task execution status change, and task scheduling failures.
- The scope of notifications can be configured through rules, messages can be configured through templates.
- The notification channel supports configuring commonly used webhook channels, such as DingTalk, Lark, and WeCom. It also supports custom HTTP requests and setting limits on message sending.
-
System Integration
Enhancements
- Optimized the database selection component, standardizing the database selection interaction across product pages and adding fuzzy matching functionality for project names, data source names, and database names.
- Added a resource tree locator key to the SQL window for quickly identifying the current database's position within the resource tree.
- Upgraded preference settings to a top-level feature accessible directly through [Settings], new configuration options include:
- Whether to enable end-to-end tracing during SQL execution.
- Whether to continue SQL execution upon encountering errors.
- Customization of editor theme and font size.
- Configuration of editor shortcuts for running SQL commands.
- Setting the default workspace.
- Whether to enable user behavior analytics.
- Desktop version now supports memory size configuration through JVM parameters.
- Added database availability indicators; the database list under projects will now show unavailable statuses and reasons.
- Improved the initiation interaction for tickets:
- Support for initiating various tickets directly from the database in the resource tree.
- Commonly used tickets (mock data, database changes, data archiving, data cleaning, database permission application) support reinitiation with editable task parameters.
- Enhanced database change processes to detect index change statements and automatically adjust the timeout setting (120h) to prevent index change statement execution failure due to timeout.
- Desktop version personal settings now support custom JVM configuration with memory usage control to within 1 GB.
- Desktop version supports exporting data files larger than 4 GB.
- Optimized the en-US language wording of the product.
Non-backward-compatibleChanges
Bug fixes
- Connection Session
- Sessions failing to remove after expiration, causing potential leaks #2125](#2125))
- References to expired connection sessions failed to be promptly cleared, leading to resource leaks, which may cause increased memory consumption #1914](#1914))
- Under high-frequency usage scenarios, executing SQL or viewing table data may encounter issues where the interface becomes unresponsive #1797](#1797))
- Intermittent 404 errors when attempting to open SQL console #1809](#1809))
- SQL Execution
- Commit/rollback button state not in sync with actual transaction status in OceanBase 4.2 #2097](#2097))
- SQL statements with single-line comments unable to execute #2085](#2085))
- Incorrect offsets for last SQL command without a trailing delimiter #1970](#1970))
- Incompatibility of anonymous block execution module with Oracle 11g #1759](#1759))
- DBMS output failed to output spaces #1051](#1970))
#
and$
character disappeared after SQL window formatted the code #1490](#1490))- Auto-complete in SQL window not available for MySQL datasource #1718](#1718))
- Result-set
- Table Object
- Disparity in column names order between Index and Constraint views #1948](#1948))
- Inability to view table details for MySQL version 5.6 #1635](#1635))
- Sofa ODP table detail view not accessible #2043](#2043))
- Unable to change NOT NULL fields to NULL in table structure editor #1441](#1441))
- When partitioned table has multiple maximum values, only one is displayed #1501](#1501))
- Button to delete table primary key is greyed out and not clickable #1874](#1874))
- Import/Export
- SQL statement split incorrectly causing task failure when comments contain
;
#417](#417)) - Export task fails when type name is in lowercase #631](#631))
- Exporting trigger objects fails #750](#750))
- Export task fails when function name contains special characters #1331](#1331))
- During Oracle mode export of indexes, index names are prefixed with database name #1491](#1491))
DELIMITER $$
separator sticks to table name when exporting procedure structure #1746](#1746))- After creating an export task, terminating it shows task status as executed successfully #1752](#1752))
- When exporting packages, object type in task details doesn't show the package body #1755](#1755))
- Import task fails when CSV file includes DATE type #2079](#2079))
- SQL statement split incorrectly causing task failure when comments contain
- Online Schema Change
- Project and ticket
- Database Changes
- SQL Check
- SQL Plan
- Partitioning Plan
- Data Archiving/Cleaning
- When tasks exit, they do not release the database connection pool, which can occupy many threads when there is a large number of tasks.
- The connection pool will indefinitely retry and generate a large number of logs when failing to acquire connections.
- Slow SQL is generated when cleaning up using unique keys due to not using the correct index.
- Users and Permissions
- Data Security
- System Integration
- DB Browser
- Creation type not recognized for table statements containing indexes #2063](#2063))
- DDL containing extraneous spaces before and after in Oracle mode #2050](#2050))
- Tables with default values on columns not retrievable in Oracle 11g mode #1733](#1733))
- listTables not correctly returning tables for the specified schema consistently #1632](#1632))
- listTables failed in OceanBase versions < v2.2.30 #1478](#1478))
- Inadequate visualization for MySQL table schema, specifically for strings in single quotes #1401](#1401))
- OB SQL Parser