diff --git a/CHANGELOG-zh-CN.md b/CHANGELOG-zh-CN.md index 728eb15ed8..504ec7f781 100644 --- a/CHANGELOG-zh-CN.md +++ b/CHANGELOG-zh-CN.md @@ -1,6 +1,6 @@ # OceanBase Developer Center (ODC) CHANGELOG -## 4.2.4 (2024-04-01) +## 4.2.4 (2024-04-02) ### 功能变化 @@ -99,27 +99,129 @@ SQL 开发 - 桌面版支持导出大于 4G 的数据 - 优化了产品英文文案 -### 非兼容变化 +### 缺陷修复 -- 安全规范的默认环境不再支持编辑和禁用 +连接会话 -### 缺陷修复 +- 连接会话过期后未能及时清除引用,导致资源泄漏,可能造成内存消耗上升 [#2125](https://github.com/oceanbase/odc/pull/2125) +- 高频使用场景下,执行 SQL 或查看表数据会遇到接口卡死无法响应的问题 [#1914](https://github.com/oceanbase/odc/pull/1914) +- 在数据源配置修改用户名大小写之后,连接 OceanBase Oracle 可能会出错 [#1797](https://github.com/oceanbase/odc/pull/1797) +- 打开 SQL 控制台时偶现 404 错误 [#1809](https://github.com/oceanbase/odc/pull/1809) + +SQL 执行 + +- OceanBase v4.2 提交/回滚按钮状态与实际事务状态不同步 [#2097](https://github.com/oceanbase/odc/pull/2097) +- 带有单行注释的 SQL 语句执行失败 [#2085](https://github.com/oceanbase/odc/pull/2085) +- 最后一个 SQL 命令若不以分隔符结束将导致偏移量计算错误 [#1970](https://github.com/oceanbase/odc/pull/1970) +- DBMS 执行输出不正确,没有将空格完全输出 [#1051](https://github.com/oceanbase/odc/issues/1970) +- `#` `$` 在 SQL 窗口格式化后消失 [#1490](https://github.com/oceanbase/odc/issues/1490) +- MySQL 数据源 SQL 窗口自动补全不可用 [#1718](https://github.com/oceanbase/odc/issues/1718) + +结果集 + +- 结果集中同时修改多行数据时耗时较久 [#2007](https://github.com/oceanbase/odc/pull/2007) +- OceanBase MySQL 模式下 DATETIME 数据类型显示时精度丢失 [#1411](https://github.com/oceanbase/odc/pull/1411) +- 查看 BLOB 字段文本和十六进制图像之间来回切换可能会导致界面冻结 [#300](https://github.com/oceanbase/odc/issues/300) + +表对象 + +- 索引和约束视图中列名顺序不一致 [#1948](https://github.com/oceanbase/odc/pull/1948) +- 无法查看 MySQL v5.6 表详情 [#1635](https://github.com/oceanbase/odc/pull/1635) +- 无法查看 Sofa ODP 表详情 [#2043](https://github.com/oceanbase/odc/pull/2043) +- 表结构编辑无法把 NOT NULL 字段改为 NULL [#1441](https://github.com/oceanbase/odc/issues/1441) +- 分区表有多个最大值时只显示了一个最大值 [#1501](https://github.com/oceanbase/odc/issues/1501) +- 删除表主键的按钮被置灰无法点击 [#1874](https://github.com/oceanbase/odc/issues/1874) + +导入导出 + +- 当注释包含 `;` 时,SQL 语句拆分出错导致任务异常 [#417](https://github.com/oceanbase/odc/issues/417) +- 类型名称小写时导出任务失败 [#631](https://github.com/oceanbase/odc/issues/631) +- 导出触发器对象时导出失败 [#750](https://github.com/oceanbase/odc/issues/750) +- 函数名称包含特殊字符导出任务失败 [#1331](https://github.com/oceanbase/odc/issues/1331) +- Oracle 模式导出索引时,索引名称添加了数据库名前缀 [#1491](https://github.com/oceanbase/odc/issues/1491) +- 导出存储过程的结构,`DELIMITER $$` 分隔符与表名连在一起 [#1746](https://github.com/oceanbase/odc/issues/1746) +- 导出任务创建完成后终止导出任务,任务状态显示执行成功 [#1752](https://github.com/oceanbase/odc/issues/1752) +- 导出程序包时,任务详细信息中的对象类型未显示包体 [#1755](https://github.com/oceanbase/odc/issues/1755) +- 导入 CSV 文件包含 DATE 类型时导入失败 [#2079](https://github.com/oceanbase/odc/issues/2079) + +无锁结构变更 + +- 当输入语句包含注释时,OSC 任务会因为语法异常而失败 [#1597](https://github.com/oceanbase/odc/pull/1597) + +项目和工单 + +- 任务创建成功提示文案错误,改为工单创建成功 [#1320](https://github.com/oceanbase/odc/issues/1320) +- SQL 窗口下拉切换项目页面崩溃 [#1512](https://github.com/oceanbase/odc/issues/1512) + +数据库变更 + +- 当回滚内容是附件时,回滚过程中没有展示 [#1379](https://github.com/oceanbase/odc/issues/1379) + +SQL 检查 + +- 存在虚拟列时发生空指针异常 [#2031](https://github.com/oceanbase/odc/pull/2031) +- 通过 DROP CONSTRAINT 删除主键的操作未能检测到 [#1879](https://github.com/oceanbase/odc/pull/1879) +- 特定 ALTER 语句会触发的空指针异常 [#1865](https://github.com/oceanbase/odc/pull/1865) + +SQL 计划 + +- 点击终止 SQL 计划无效 [#1528](https://github.com/oceanbase/odc/issues/1528) +- 预检查失败时工单的审批状态显示为预检查失败了 [#218](https://github.com/oceanbase/odc/issues/218) + +分区计划 + +- 当模式或表名为小写时,无法执行分区 DDL [#2088](https://github.com/oceanbase/odc/pull/2088) + +数据归档/清理 + +- 数据归档完成之后触发回滚任务,子任务仍然在运行但是工单状态显示为已完成 [#690](https://github.com/oceanbase/odc/issues/690) +- 并发调度数据归档任务时取消任务,任务状态未更新 [#721](https://github.com/oceanbase/odc/issues/721) +- 使用数据库保留字作为列名时归档失败 [#1040](https://github.com/oceanbase/odc/issues/1040) +- 创建大量表的数据归档任务时更新执行记录会失败 [#1338](https://github.com/oceanbase/odc/issues/1338) +- 任务退出时未释放数据库连接池,任务数量较多时会占用较多线程 +- 获取连接失败时连接池会无限重试产生大量日志 +- 使用唯一键清理时没有使用正确索引产生慢 SQL + +用户与权限 + +- 批量导入用户包含角色名称会失败 [#1908](https://github.com/oceanbase/odc/pull/1908) + +数据安全 + +- 使用嵌套 CASE-WHEN 子句时数据掩码不一致 [#1410](https://github.com/oceanbase/odc/pull/1410) + +系统集成 + +- 请求正文中包含中文内容时出现乱码 [#1625](https://github.com/oceanbase/odc/pull/1625) + +DB Browser + +- 包含索引的表创建语句未被识别为创建类型 [#2063](https://github.com/oceanbase/odc/pull/2063) +- 在 Oracle 模式中 DDL 前后多余空格 [#2050](https://github.com/oceanbase/odc/pull/2050) +- 在 Oracle 11g 模式下无法检索有默认值列的表 [#1733](https://github.com/oceanbase/odc/pull/1733) +- listTables 未能一致地准确返回指定模式下的表 [#1632](https://github.com/oceanbase/odc/pull/1632) +- 在 OceanBase 版本 < V2.2.30 时无法 listTables [#1478](https://github.com/oceanbase/odc/pull/1478) +- MySQL 表结构设计的可视化不足,特别是对于单引号括起的字符串 [#1401](https://github.com/oceanbase/odc/pull/1401) + +OB SQL Parser + +- 解析命名为 'json_table' 的表的 INSERT 语句出错 [#1968](https://github.com/oceanbase/odc/pull/1968) ## 4.2.3_bp1 (2024-02-01) ### 功能变化 -- 数据库变更:数据库变更任务适配流式读取 SQL 文件 (#1437) -- 数据归档/清理:支持使用唯一索引进行分片 (#1327) +- 数据库变更:数据库变更任务适配流式读取 SQL 文件 [#1437](https://github.com/oceanbase/odc/pull/1437) +- 数据归档/清理:支持使用唯一索引进行分片 [#1327](https://github.com/oceanbase/odc/pull/1327) ### 缺陷修复 SQL 执行 -- 在 OceanBase v2.2.30 上 执行 SQL 失败 (#1487) -- 在团队空间执行匿名块导致 NPE (#1474) -- 个人设置启用手动提交时,回滚操作没有成功执行 (#1468) -- 不能设置超过 2 个字符的分隔符 (#1414) +- 在 OceanBase v2.2.30 上 执行 SQL 失败 [#1487](https://github.com/oceanbase/odc/pull/1487) +- 在团队空间执行匿名块导致 NPE [#1474](https://github.com/oceanbase/odc/pull/1474) +- 个人设置启用手动提交时,回滚操作没有成功执行 [#1468](https://github.com/oceanbase/odc/pull/1468) +- 不能设置超过 2 个字符的分隔符 [#1414](https://github.com/oceanbase/odc/pull/1414) - 在 SQL 窗口查询请求期间,注销时前端崩溃。 结果集 @@ -129,34 +231,34 @@ SQL 执行 表对象 -- 查询表数据时没有列注释 (#1488) +- 查询表数据时没有列注释 [#1488](https://github.com/oceanbase/odc/pull/1488) 数据导出 -- 导出包体和同义词时,不显示对象类型。 (#1464) +- 导出包体和同义词时,不显示对象类型 [#1464](https://github.com/oceanbase/odc/pull/1464) 任务 -- 创建没有连接信息的工单时 NPE (#1479) -- 并发创建任务时无法正确设置任务状态 (#1419) -- 当任务创建者和审批者不是当前用户时,查看任务审批节点时发生错误。 +- 创建没有连接信息的工单时 NPE [#1479](https://github.com/oceanbase/odc/pull/1479) +- 并发创建任务时无法正确设置任务状态 [#1419](https://github.com/oceanbase/odc/pull/1419) +- 当任务创建者和审批者不是当前用户时,查看任务审批节点时发生错误 无锁结构变更 -- OSC 任务在全量迁移完成时不显示手动交换表名 (#1357) +- OSC 任务在全量迁移完成时不显示手动交换表名 [#1357](https://github.com/oceanbase/odc/pull/1357) 数据库变更 -- 部分场景查询任务详情抛出流程实例未找到异常 (#1325) -- 任务日志过期时查询任务详情抛出文件未找到异常 (#1316) +- 部分场景查询任务详情抛出流程实例未找到异常 [#1325](https://github.com/oceanbase/odc/pull/1325) +- 任务日志过期时查询任务详情抛出文件未找到异常 [#1316](https://github.com/oceanbase/odc/pull/1316) 分区计划 -- 如果关联的调度配置不存在,删除作业失败 (#1495) +- 如果关联的调度配置不存在,删除作业失败 [#1495](https://github.com/oceanbase/odc/pull/1495) 数据归档/清理 -- 编辑速率限制配置后,数据清理任务调度失败 (#1438) +- 编辑速率限制配置后,数据清理任务调度失败 [#1438](https://github.com/oceanbase/odc/pull/1438) 桌面版本 @@ -164,13 +266,13 @@ SQL 执行 其他 -- 连接到 OBOracle 的小写模式时,SQL 检查失败 (#1341) -- MetaDB 默认字符集为 GBK 时,执行带有生僻字的 SQL 语句失败 (#1486) +- 连接到 OBOracle 的小写模式时,SQL 检查失败 [#1341](https://github.com/oceanbase/odc/pull/1341) +- MetaDB 默认字符集为 GBK 时,执行带有生僻字的 SQL 语句失败 [#1486](https://github.com/oceanbase/odc/pull/1486) ### 安全加固 -- 升级 aliyun-oss-sdk 版本 (#1393) -- 无锁结构变更在手动交换表时存在水平越权访问数据权限 (#1405) +- 升级 aliyun-oss-sdk 版本 [#1393](https://github.com/oceanbase/odc/pull/1393) +- 无锁结构变更在手动交换表时存在水平越权访问数据权限 [#1405](https://github.com/oceanbase/odc/pull/1405) ## 4.2.3 (2023-12-22) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1130531bbc..5601534082 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,27 +1,222 @@ -# OceanBase Developer Center (ODC) CHANGELOG +## 4.2.4 (2024-04-02) -## 4.2.4 (2024-04-01) +### Feature Changes -### 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 + +- SSO supports LDAP protocol + +### Usability Improvements + +- 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. + +### Bug fixes + +Connection Session + +- Sessions failing to remove after expiration, causing potential leaks [#2125](https://github.com/oceanbase/odc/pull/2125) +- References to expired connection sessions failed to be promptly cleared, leading to resource leaks, which may cause increased memory consumption [#1914](https://github.com/oceanbase/odc/pull/1914) +- Under high-frequency usage scenarios, executing SQL or viewing table data may encounter issues where the interface becomes unresponsive [#1797](https://github.com/oceanbase/odc/pull/1797) +- Intermittent 404 errors when attempting to open SQL console [#1809](https://github.com/oceanbase/odc/pull/1809) + +SQL Execution + +- Commit/rollback button state not in sync with actual transaction status in OceanBase 4.2 [#2097](https://github.com/oceanbase/odc/pull/2097) +- SQL statements with single-line comments unable to execute [#2085](https://github.com/oceanbase/odc/pull/2085) +- Incorrect offsets for last SQL command without a trailing delimiter [#1970](https://github.com/oceanbase/odc/pull/1970) +- Incompatibility of anonymous block execution module with Oracle 11g [#1759](https://github.com/oceanbase/odc/pull/1759) +- DBMS output failed to output spaces [#1051](https://github.com/oceanbase/odc/issues/1970) +- `#` and `$` character disappeared after SQL window formatted the code [#1490](https://github.com/oceanbase/odc/issues/1490) +- Auto-complete in SQL window not available for MySQL datasource [#1718](https://github.com/oceanbase/odc/issues/1718) + +Result-set + +- Degrading performance when modifying multiple rows concurrently in result-set [#2007](https://github.com/oceanbase/odc/pull/2007) +- In OceanBase MySQL mode, the datetime data type loses precision when displayed [#1996](https://github.com/oceanbase/odc/pull/1996) +- Switching between viewing BLOB field text and hexadecimal images may cause the UI to freeze [#300](https://github.com/oceanbase/odc/issues/300) +Table Object +- Disparity in column names order between Index and Constraint views [#1948](https://github.com/oceanbase/odc/pull/1948) +- Inability to view table details for MySQL version 5.6 [#1635](https://github.com/oceanbase/odc/pull/1635) +- Sofa ODP table detail view not accessible [#2043](https://github.com/oceanbase/odc/pull/2043) +- Unable to change NOT NULL fields to NULL in table structure editor [#1441](https://github.com/oceanbase/odc/issues/1441) +- When partitioned table has multiple maximum values, only one is displayed [#1501](https://github.com/oceanbase/odc/issues/1501) +- Button to delete table primary key is greyed out and not clickable [#1874](https://github.com/oceanbase/odc/issues/1874) +Import/Export + +- SQL statement split incorrectly causing task failure when comments contain `;` [#417](https://github.com/oceanbase/odc/issues/417) +- Export task fails when type name is in lowercase [#631](https://github.com/oceanbase/odc/issues/631) +- Exporting trigger objects fails [#750](https://github.com/oceanbase/odc/issues/750) +- Export task fails when function name contains special characters [#1331](https://github.com/oceanbase/odc/issues/1331) +- During Oracle mode export of indexes, index names are prefixed with database name [#1491](https://github.com/oceanbase/odc/issues/1491) +- `DELIMITER $$` separator sticks to table name when exporting procedure structure [#1746](https://github.com/oceanbase/odc/issues/1746) +- After creating an export task, terminating it shows task status as executed successfully [#1752](https://github.com/oceanbase/odc/issues/1752) +- When exporting packages, object type in task details doesn't show the package body [#1755](https://github.com/oceanbase/odc/issues/1755) +- Import task fails when CSV file includes DATE type [#2079](https://github.com/oceanbase/odc/issues/2079) + +Online Schema Change + +- OSC task experiencing syntax exceptions when input statements contain comments [#1597](https://github.com/oceanbase/odc/pull/1597) + +Project and ticket + +- Ticket creation success message incorrect, changed to 'Ticket create successfully' [#1320](https://github.com/oceanbase/odc/issues/1320) +- SQL window dropdown switch project causing page crashes [#1512](https://github.com/oceanbase/odc/issues/1512) + +Database Changes + +- If rollback content is attachments, the rollback content are not displayed during the rollback process [#1379](https://github.com/oceanbase/odc/issues/1379) + +SQL Check + +- Null Pointer Exception occurring when virtual columns are present [#2031](https://github.com/oceanbase/odc/pull/2031) +- Drop operations for primary keys as constraints going undetected [#1879](https://github.com/oceanbase/odc/pull/1879) +- Null Pointer Exception triggered by certain ALTER statements [#1865](https://github.com/oceanbase/odc/pull/1865) + +SQL Plan + +- Clicking to terminate SQL plan is ineffective [#1528](https://github.com/oceanbase/odc/issues/1528) +- Ticket status displays as pre-check failed when pre-check fails [#218](https://github.com/oceanbase/odc/issues/218) + +Partitioning Plan + +- Partition DDL execution failures when schema or table names are lowercase [#2088](https://github.com/oceanbase/odc/pull/2088) + +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 + +- Inefficiencies in batch importing users with associated roles [#1908](https://github.com/oceanbase/odc/pull/1908) + +Data Security + +- Data masking inconsistencies when employing nested CASE-WHEN clauses [#1410](https://github.com/oceanbase/odc/pull/1410) + +System Integration + +- Presence of garbled code when including Chinese content in request body [#1625](https://github.com/oceanbase/odc/pull/1625) + +DB Browser + +- Creation type not recognized for table statements containing indexes [#2063](https://github.com/oceanbase/odc/pull/2063) +- DDL containing extraneous spaces before and after in Oracle mode [#2050](https://github.com/oceanbase/odc/pull/2050) +- Tables with default values on columns not retrievable in Oracle 11g mode [#1733](https://github.com/oceanbase/odc/pull/1733) +- listTables not correctly returning tables for the specified schema consistently [#1632](https://github.com/oceanbase/odc/pull/1632) +- listTables failed in OceanBase versions < v2.2.30 [#1478](https://github.com/oceanbase/odc/pull/1478) +- Inadequate visualization for MySQL table schema, specifically for strings in single quotes [#1401](https://github.com/oceanbase/odc/pull/1401) + +OB SQL Parser + +- Parsing issues for INSERT statements into tables named 'json_table' [#1968](https://github.com/oceanbase/odc/pull/1968) ## 4.2.3_bp1 (2024-02-01) ### Feature -- database-change: database change task adapt streaming read sql file (#1437) -- dlm: supports sharding using unique indexes (#1327) +- database-change: database change task adapt streaming read sql file [#1437](https://github.com/oceanbase/odc/pull/1437) +- dlm: supports sharding using unique indexes [#1327](https://github.com/oceanbase/odc/pull/1327) -### Fix +### Bug fixes sql-execute -- fail to execute statement on OceanBase 2.2.30 (#1487) -- executing anonymous block causes NPE in the team space (#1474) -- do not roll back execute when manual commit enabled(#1468) -- can not set a delimiter longer than 2 (#1414) +- fail to execute statement on OceanBase 2.2.30 [#1487](https://github.com/oceanbase/odc/pull/1487) +- executing anonymous block causes NPE in the team space [#1474](https://github.com/oceanbase/odc/pull/1474) +- do not roll back execute when manual commit enabled[#1468](https://github.com/oceanbase/odc/pull/1468) +- can not set a delimiter longer than 2 [#1414](https://github.com/oceanbase/odc/pull/1414) - during SQL window query request, the front end crashes when logging out. result-set @@ -31,36 +226,36 @@ result-set table -- query table data with no column comments (#1488) +- query table data with no column comments [#1488](https://github.com/oceanbase/odc/pull/1488) data-export -- object types are not displayed when exporting package bodies and synonyms. (#1464) +- object types are not displayed when exporting package bodies and synonyms. [#1464](https://github.com/oceanbase/odc/pull/1464) flow -- NPE when creating a ticket without connection information (#1479) -- can not set task status correctly when creating task concurrently (#1419) +- NPE when creating a ticket without connection information [#1479](https://github.com/oceanbase/odc/pull/1479) +- can not set task status correctly when creating task concurrently [#1419](https://github.com/oceanbase/odc/pull/1419) - when the task creator and approver are not the current users, an error occurs when viewing the task approval node. osc -- osc job query connection config by id throw Access Denied(#1378) -- osc task don't show manual swap table name when full migrate is completed (#1357) +- osc job query connection config by id throw Access Denied[#1378](https://github.com/oceanbase/odc/pull/1378) +- osc task don't show manual swap table name when full migrate is completed [#1357](https://github.com/oceanbase/odc/pull/1357) database-change -- query task details throw flow instance not found exception (#1325) -- query task details throw file not found exception (#1316) +- query task details throw flow instance not found exception [#1325](https://github.com/oceanbase/odc/pull/1325) +- query task details throw file not found exception [#1316](https://github.com/oceanbase/odc/pull/1316) partition-plan -- delete job failed if the associated trigger does not exist (#1495) +- delete job failed if the associated trigger does not exist [#1495](https://github.com/oceanbase/odc/pull/1495) dlm -- the data cleaning task scheduling failed after editing the rate limit configuration (#1438) -- the task log file does not exist (#1376) +- the data cleaning task scheduling failed after editing the rate limit configuration [#1438](https://github.com/oceanbase/odc/pull/1438) +- the task log file does not exist [#1376](https://github.com/oceanbase/odc/pull/1376) desktop version @@ -68,13 +263,13 @@ desktop version others -- sql-check: failed to check statement when connect to a lower case schema for OBOracle (#1341) -- audit: executing sql with rare words failed when metadb's default character is gbk (#1486) +- sql-check: failed to check statement when connect to a lower case schema for OBOracle [#1341](https://github.com/oceanbase/odc/pull/1341) +- audit: executing sql with rare words failed when metadb's default character is gbk [#1486](https://github.com/oceanbase/odc/pull/1486) ### Security -- upgrade aliyun-oss-sdk version (#1393) -- osc: horizontal overstep access data permission when swap table manual (#1405) +- upgrade aliyun-oss-sdk version [#1393](https://github.com/oceanbase/odc/pull/1393) +- osc: horizontal overstep access data permission when swap table manual [#1405](https://github.com/oceanbase/odc/pull/1405) ## 4.2.3 (2023-12-22) @@ -112,7 +307,7 @@ Connection session - Added an automatic reconnection mechanism to avoid errors and usability issues caused by session destruction when not used for a long time -Partition plan +Partitioning Plan - Supports scheduled scheduling @@ -140,9 +335,9 @@ Full link trace Tickets -- The project administrator can view all work orders under the project, and other roles can view the work orders they have approved +- The project administrator can view all tickets under the project, and other roles can view the tickets they have approved -### Fix +### Bug fixes Data source @@ -178,10 +373,10 @@ DLM - The database connection pool is too small, causing task execution failure -Partition plan +Partitioning Plan - Task creation failed in MySQL mode of OceanBase version 1.4.79 -- Tables that do not set a partition strategy will still perform partition plan changes +- Tables that do not set a partition strategy will still perform partitioning plan changes SQL-Check @@ -192,7 +387,7 @@ External approval integration - Unrecognized expression for data in indexed collection - The data in xml form returned by the external system will lose the root tag of the original xml during deserialization -Data desensitization +data masking - When duplicate columns are scanned, adding sensitive columns will fail @@ -200,7 +395,7 @@ Project - After the user is granted "Personal Space" permission, he must log in again for it to take effect - Transaction timeout occurred when synchronizing a large number of databases or schemas to the project -- Unable to filter work orders by project dimension +- Unable to filter tickets by project dimension - Project OWNER can remove all users with DBA roles in the project Bastion integration @@ -229,7 +424,7 @@ Full link trace Shadow table sync -- After the work order is approved or rejected, the approver cannot view the task details +- After the ticket is approved or rejected, the approver cannot view the task details obclient integration @@ -237,8 +432,8 @@ obclient integration Tickets -- Creating a work order takes too long -- There is a "Pending Approval" work order for another project in the "Pending Approval" work order list +- Creating a ticket takes too long +- There is a "Pending Approval" ticket for another project in the "Pending Approval" ticket list Operation record @@ -253,7 +448,7 @@ Operation record - Only allow users to modify table data with primary key constraints, unique key constraints and rowid with a blank screen - Optimize the error text when synchronizing database errors -### Dependency library upgrade +### Dependency database upgrade - Upgrade obclient version to 2.2.4 - Upgrade spring security version to 5.7.10 @@ -270,7 +465,7 @@ Data archiving - After the data archiving subtask starts running, updating the current limiter configuration cannot take effect. - Data cleaning task is not running -Data desensitization +data masking - Entering malicious identification rules in the scenario of automatic scanning of sensitive columns will result in a denial of service by regular expressions @@ -296,7 +491,7 @@ Data Source - Adapted to OceanBase 4.2.0/4.2.1 - Data sources add initialization scripts and customized JDBC connection parameter settings -Data Desensitization +data masking - Support view desensitization @@ -316,11 +511,11 @@ Import and Export - Optimized object management performance in large-scale table scenarios, and used ob-sql-parser to parse index/constraint metadata - Optimized database object tree interaction, the project and data source selection interaction area is folded to the top, and the database list is displayed more clearly - Optimized the interaction between creating a new SQL window and switching databases in the SQL window. Switching databases is faster, and the SQL window adds a copy operation. -- Optimized the data desensitization configuration interaction, making it more convenient to select sensitive columns +- Optimized the data masking configuration interaction, making it more convenient to select sensitive columns - Optimized the problem of slow retrieval of data source list and slow retrieval of data source status in scenarios where there are a large number of data sources. - Optimize the error text when running PL with wrong parameters -### Fix +### Bug fixes PL Debugging @@ -338,7 +533,7 @@ SQL-Check - When creating type under the OceanBase Oracle tenant, if the sub-stored procedure/function has no parameter list, SQL Check will report a syntax error. - Unable to turn off "Syntax Error" rule -Data Desensitization +data masking - Desensitization fails when the SELECT statement contains multiple table JOINs - Sensitive columns cannot be recognized in the case-sensitive OceanBase MySQL mode, causing desensitization to fail. @@ -362,7 +557,7 @@ Operational audit - Changes to "SQL Check Specification" and "SQL Window Specification" are not included in the operational audit scope -### Dependency library upgrade +### Dependency database upgrade - Upgrade ob-loader-dumper version to 4.2.5-RELEASE - Upgrade oceanbase-client version to 2.4.5 @@ -373,7 +568,7 @@ Operational audit ## 4.2.1 (2023-09-25) -### Fix +### Bug fixes SQL Execution @@ -395,17 +590,17 @@ Datasource management - The session management interface cannot display the SQL being executed by the session - A null pointer exception occurs when there are empty rows or columns in the template file during batch import connections -Data desensitization +data masking - When the OceanBase MySQL schema is configured as case-sensitive, sensitive columns cannot be case-sensitive -Work order management +ticket management -- After the work order is submitted, the work order status remains "queued" for a long time and is not updated and the work order does not report an error +- After the ticket is submitted, the ticket status remains "queued" for a long time and is not updated and the ticket does not report an error Third party integration -- When the approval flow does not contain an external approval node, it will also try to obtain the ID of the external approval work order +- When the approval flow does not contain an external approval node, it will also try to obtain the ID of the external approval ticket SQL-Check diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 10b38bebd2..2eb9bac732 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,9 @@ New ~~~ +- Feat(tag): add tag service (#2090) [Ang] +- Feat(dlm): adapts to the task framework and supports OceanBase Oracle + mode (#2059) [guowl3] - Feat(taskframework): supports external log4j configuration file (#2080) [krihy] - Feat(partition-plan): make partition name generation based on a @@ -100,6 +103,8 @@ New Changes ~~~~~~~ +- Refactor(taskframework): refactor job rate limiter for extension + (#2112) [krihy] - Refactor(notification): extract siteUrl cacluation logic into util (#2021) [LuckyLeo] - Refactor(taskframework): add LoggerService for DLM query log (#1534) @@ -107,6 +112,26 @@ Changes Fix ~~~ +- Fix(taskframework): fix decrypt meta db password (#2129) [krihy] +- Fix(session): failed to remove session when session is expired (#2125) + [IL MARE] +- Fix(taskframework): handle all preparing and running task to failed + when task-framework be set disabled (#2119) [krihy] +- Fix(taskframework): add alarm in taskframework (#2098) [krihy] +- Fix(audit): add audit type and event for structure comparing task + (#2117) [pynzzZ] +- Fix(structure-comapre): failed to update task status when task fails + (#2116) [zhangxiao] +- Fix(taskframework): ip change with docker restart cause jobs process + interrupted and status cannot be terminated (#2030) [krihy] +- Fix(data-masking): cannot masking result set when using Oracle (#2114) + [XiaoYang] +- Fix(sso): userAccountName allow null string (#2113) [Ang] +- Fix(data-transfer): support data transfer for doris (#2106) [LuckyLeo] +- Fix(connect): failed to sync standby cluster's databases (#2107) [IL + MARE] +- Fix(doris): failed to view active db sessions in doris (#2104) [IL + MARE] - Fix(security): add authorize annotation in service class (#2103) [LuckyLeo] - Fix(shadowtable): it occurs NPE while creating shadow table comparing