From 7f806c98d48e87006d3cbd5ce6f7621095f9d2f2 Mon Sep 17 00:00:00 2001 From: CHLK <30882682+CHLK@users.noreply.github.com> Date: Wed, 3 Jul 2024 10:41:43 +0800 Subject: [PATCH 1/3] fix(audit): client ip length more langer then audit column client_ip_address (#2863) * fix(aduit): client ip length more langer then audit column client_ip_address * fix(aduit): rename getTrulyClientIp to getFirstIpFromRemoteAddress,and move it from WebRequestUtilsTest to AuditUtils * style: change the position of class comments in NotificationChannelRelationEntity * style: format AuditUtilsTest * style: remove /.github/hooks/pre-push from .gitignore --- .../NotificationChannelRelationEntity.java | 15 ++--- .../odc/service/audit/AuditEventAspect.java | 4 +- .../odc/service/audit/util/AuditUtils.java | 26 +++++++++ .../service/audit/util/AuditUtilsTest.java | 55 +++++++++++++++++++ 4 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 server/odc-service/src/test/java/com/oceanbase/odc/service/audit/util/AuditUtilsTest.java diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/metadb/notification/NotificationChannelRelationEntity.java b/server/odc-service/src/main/java/com/oceanbase/odc/metadb/notification/NotificationChannelRelationEntity.java index a3160c92c8..55dc986ed3 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/metadb/notification/NotificationChannelRelationEntity.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/metadb/notification/NotificationChannelRelationEntity.java @@ -15,16 +15,6 @@ */ package com.oceanbase.odc.metadb.notification; -/** - * @Author: Lebie - * @Date: 2023/3/20 21:36 - * @Description: [] - */ -/** - * @Author: Lebie - * @Date: 2023/3/20 21:36 - * @Description: [] - */ import java.util.Date; import javax.persistence.Column; @@ -39,6 +29,11 @@ import lombok.Data; +/** + * @Author: Lebie + * @Date: 2023/3/20 21:36 + * @Description: [] + */ @Data @Entity @Table(name = "notification_policy_channel_relation") diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/AuditEventAspect.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/AuditEventAspect.java index 4789187478..28b053abc2 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/AuditEventAspect.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/AuditEventAspect.java @@ -294,7 +294,9 @@ private AuditEvent createAuditEvent(Method method, Object[] args) { .type(auditEventMeta.getType()) .startTime(new Date()) .serverIpAddress(SystemUtils.getLocalIpAddress()) - .clientIpAddress(WebRequestUtils.getClientAddress(servletRequest)) + .clientIpAddress( + AuditUtils.getFirstIpFromRemoteAddress( + WebRequestUtils.getClientAddress(servletRequest))) .organizationId(authenticationFacade.currentOrganizationId()) .userId(authenticationFacade.currentUserId()) .username(authenticationFacade.currentUsername()) diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/util/AuditUtils.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/util/AuditUtils.java index c63127d2ac..fddfeb2325 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/util/AuditUtils.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/audit/util/AuditUtils.java @@ -323,4 +323,30 @@ public static AuditEventAction getActualActionForTask(AuditEventType type, Audit return action; } + /** + *
+     * Get the first ip of {@param remoteAddress}.
+     * The X-Forwarded-For header may contain multiple IP addresses, separated
+     * by commas, and typically, the first non-unknown IP is considered to be the client's IP address.
+     * 
+ * + * @author keyang.lk + * @date 2024-07-02 + * @param remoteAddress + * @return The first ip of remoteAddress + */ + public static String getFirstIpFromRemoteAddress(String remoteAddress) { + if (remoteAddress == null || remoteAddress.isEmpty() || "unknown".equalsIgnoreCase(remoteAddress)) { + return "N/A"; + } + // 处理X-Forwarded-For可能包含多个IP地址的情况(由逗号分隔),通常第一个非unknown的IP是客户端的IP + String[] ips = remoteAddress.split(","); + for (String ip : ips) { + if (ip != null && !ip.isEmpty() && + !"unknown".equalsIgnoreCase(ip.trim())) { + return ip.trim(); + } + } + return remoteAddress; + } } diff --git a/server/odc-service/src/test/java/com/oceanbase/odc/service/audit/util/AuditUtilsTest.java b/server/odc-service/src/test/java/com/oceanbase/odc/service/audit/util/AuditUtilsTest.java new file mode 100644 index 0000000000..c84624de99 --- /dev/null +++ b/server/odc-service/src/test/java/com/oceanbase/odc/service/audit/util/AuditUtilsTest.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2023 OceanBase. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.oceanbase.odc.service.audit.util; + +import static org.junit.Assert.assertEquals; + +import java.util.Arrays; +import java.util.Collection; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; +import org.junit.runners.Parameterized.Parameters; + +@RunWith(Parameterized.class) +public class AuditUtilsTest { + @Parameter(0) + public String input; + @Parameter(1) + public String except; + + @Parameters(name = "{index}: getFirstIpFromRemoteAddress({0})={1}") + public static Collection data() { + return Arrays.asList(new Object[][] { + {"", "N/A"}, + {null, "N/A"}, + {"unknown", "N/A"}, + {"UNKNOWN", "N/A"}, + {"123", "123"}, + {"192.168.1.1", "192.168.1.1"}, + {",192.168.1.1", "192.168.1.1"}, + {"192.168.1.1,122.122.1.1,127.0.0.1", "192.168.1.1"}, + {"unknown,192.168.1.1,122.122.1.1,127.0.0.1", "192.168.1.1"} + }); + } + + @Test + public void getFirstIpFromRemoteAddress() { + assertEquals(except, AuditUtils.getFirstIpFromRemoteAddress(input)); + } +} From 2c385aca84cb5b7443b930b5cf0bee45b0fbad4c Mon Sep 17 00:00:00 2001 From: IL MARE Date: Wed, 3 Jul 2024 11:06:51 +0800 Subject: [PATCH 2/3] fix(i18n): fix i18n docs encoding error (#2874) * update i18n * update i18n docs --- .../i18n/BusinessMessages_zh_CN.properties | 1452 ++++++++--------- 1 file changed, 726 insertions(+), 726 deletions(-) diff --git a/server/odc-core/src/main/resources/i18n/BusinessMessages_zh_CN.properties b/server/odc-core/src/main/resources/i18n/BusinessMessages_zh_CN.properties index 8ba8959900..a4078edcda 100644 --- a/server/odc-core/src/main/resources/i18n/BusinessMessages_zh_CN.properties +++ b/server/odc-core/src/main/resources/i18n/BusinessMessages_zh_CN.properties @@ -1,176 +1,176 @@ -# business_messages_zh_CN.properties \u7B80\u4F53\u4E2D\u6587 +# business_messages_zh_CN.properties 简体中文 # # ResourceType # -com.oceanbase.odc.ResourceType.ODC_PRIVILEGE=\u6743\u9650 -com.oceanbase.odc.ResourceType.ODC_ORGANIZATION=\u7EC4\u7EC7 -com.oceanbase.odc.ResourceType.ODC_ROLE=\u89D2\u8272 -com.oceanbase.odc.ResourceType.ODC_RESOURCE_ROLE=\u8D44\u6E90\u89D2\u8272 -com.oceanbase.odc.ResourceType.ODC_USER=\u7528\u6237 -com.oceanbase.odc.ResourceType.ODC_CONNECTION=\u6570\u636E\u6E90 -com.oceanbase.odc.ResourceType.ODC_PRIVATE_CONNECTION=\u79C1\u6709\u8FDE\u63A5\u914D\u7F6E -com.oceanbase.odc.ResourceType.ODC_CONNECT_LABEL=\u8FDE\u63A5\u6807\u7B7E -com.oceanbase.odc.ResourceType.ODC_SESSION=\u8FDE\u63A5\u4F1A\u8BDD -com.oceanbase.odc.ResourceType.ODC_TASK=\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_SCRIPT=\u811A\u672C -com.oceanbase.odc.ResourceType.ODC_SNIPPET=\u4EE3\u7801\u7247\u6BB5 -com.oceanbase.odc.ResourceType.ODC_SOURCE_FILE=\u6E90\u4EE3\u7801\u6587\u4EF6 -com.oceanbase.odc.ResourceType.ODC_FILE=\u6587\u4EF6 -com.oceanbase.odc.ResourceType.ODC_RESOURCE_GROUP=\u8D44\u6E90\u7EC4 -com.oceanbase.odc.ResourceType.ODC_FLOW_INSTANCE=\u6D41\u7A0B\u5B9E\u4F8B -com.oceanbase.odc.ResourceType.ODC_FLOW_CONFIG=\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.ResourceType.ODC_FLOW_APPROVAL_INSTANCE=\u5BA1\u6279\u8282\u70B9 -com.oceanbase.odc.ResourceType.ODC_FLOW_TASK_INSTANCE=\u4EFB\u52A1\u8282\u70B9 -com.oceanbase.odc.ResourceType.ODC_FLOW_GATEWAY_INSTANCE=\u7F51\u5173\u8282\u70B9 -com.oceanbase.odc.ResourceType.ODC_ASYNC_SQL_RESULT=\u5F02\u6B65 SQL \u6267\u884C\u7ED3\u679C -com.oceanbase.odc.ResourceType.ODC_SYSTEM_CONFIG=\u7CFB\u7EDF\u914D\u7F6E -com.oceanbase.odc.ResourceType.ODC_AUDIT_EVENT=\u5BA1\u8BA1\u4E8B\u4EF6 +com.oceanbase.odc.ResourceType.ODC_PRIVILEGE=权限 +com.oceanbase.odc.ResourceType.ODC_ORGANIZATION=组织 +com.oceanbase.odc.ResourceType.ODC_ROLE=角色 +com.oceanbase.odc.ResourceType.ODC_RESOURCE_ROLE=资源角色 +com.oceanbase.odc.ResourceType.ODC_USER=用户 +com.oceanbase.odc.ResourceType.ODC_CONNECTION=数据源 +com.oceanbase.odc.ResourceType.ODC_PRIVATE_CONNECTION=私有连接配置 +com.oceanbase.odc.ResourceType.ODC_CONNECT_LABEL=连接标签 +com.oceanbase.odc.ResourceType.ODC_SESSION=连接会话 +com.oceanbase.odc.ResourceType.ODC_TASK=任务 +com.oceanbase.odc.ResourceType.ODC_SCRIPT=脚本 +com.oceanbase.odc.ResourceType.ODC_SNIPPET=代码片段 +com.oceanbase.odc.ResourceType.ODC_SOURCE_FILE=源代码文件 +com.oceanbase.odc.ResourceType.ODC_FILE=文件 +com.oceanbase.odc.ResourceType.ODC_RESOURCE_GROUP=资源组 +com.oceanbase.odc.ResourceType.ODC_FLOW_INSTANCE=流程实例 +com.oceanbase.odc.ResourceType.ODC_FLOW_CONFIG=流程配置 +com.oceanbase.odc.ResourceType.ODC_FLOW_APPROVAL_INSTANCE=审批节点 +com.oceanbase.odc.ResourceType.ODC_FLOW_TASK_INSTANCE=任务节点 +com.oceanbase.odc.ResourceType.ODC_FLOW_GATEWAY_INSTANCE=网关节点 +com.oceanbase.odc.ResourceType.ODC_ASYNC_SQL_RESULT=异步 SQL 执行结果 +com.oceanbase.odc.ResourceType.ODC_SYSTEM_CONFIG=系统配置 +com.oceanbase.odc.ResourceType.ODC_AUDIT_EVENT=审计事件 com.oceanbase.odc.ResourceType.ODC_BUCKET=OSS Bucket -com.oceanbase.odc.ResourceType.ODC_STORAGE_OBJECT_METADATA=\u5BF9\u8C61\u5143\u6570\u636E -com.oceanbase.odc.ResourceType.ODC_EXTERNAL_APPROVAL=\u5916\u90E8\u5BA1\u6279\u5355 -com.oceanbase.odc.ResourceType.ODC_TUTORIAL=\u6559\u7A0B -com.oceanbase.odc.ResourceType.OB_CLUSTER=OB \u96C6\u7FA4 -com.oceanbase.odc.ResourceType.OB_TENANT=OB \u79DF\u6237 -com.oceanbase.odc.ResourceType.OB_USER=\u6570\u636E\u5E93\u7528\u6237 -com.oceanbase.odc.ResourceType.OB_DATABASE=\u6570\u636E\u5E93 -com.oceanbase.odc.ResourceType.OB_TABLE=\u8868 -com.oceanbase.odc.ResourceType.OB_INDEX=\u7D22\u5F15 -com.oceanbase.odc.ResourceType.OB_COLUMN=\u5217 -com.oceanbase.odc.ResourceType.OB_CONSTRAINT=\u7EA6\u675F -com.oceanbase.odc.ResourceType.OB_VIEW=\u89C6\u56FE -com.oceanbase.odc.ResourceType.OB_SEQUENCE=\u5E8F\u5217 -com.oceanbase.odc.ResourceType.OB_TRIGGER=\u89E6\u53D1\u5668 -com.oceanbase.odc.ResourceType.OB_FUNCTION=\u51FD\u6570 -com.oceanbase.odc.ResourceType.OB_PROCEDURE=\u5B58\u50A8\u8FC7\u7A0B -com.oceanbase.odc.ResourceType.OB_PACKAGE=\u7A0B\u5E8F\u5305 -com.oceanbase.odc.ResourceType.OB_TYPE=\u7C7B\u578B -com.oceanbase.odc.ResourceType.OB_SYNONYM=\u540C\u4E49\u8BCD -com.oceanbase.odc.ResourceType.OB_SESSION=\u6570\u636E\u5E93\u4F1A\u8BDD -com.oceanbase.odc.ResourceType.ALIYUN_ACCOUNT=\u963F\u91CC\u4E91\u4E3B\u8D26\u53F7 -com.oceanbase.odc.ResourceType.ALIYUN_SUB_ACCOUNT=\u963F\u91CC\u4E91\u5B50\u8D26\u53F7 -com.oceanbase.odc.ResourceType.ODC_DATA_MASKING_RULE=\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_DATA_MASKING_POLICY=\u8131\u654F\u7B56\u7565 -com.oceanbase.odc.ResourceType.ODC_SHADOWTABLE_COMPARING_TASK=\u5F71\u5B50\u8868\u7ED3\u6784\u5BF9\u6BD4\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_SCHEDULE=\u5B9A\u65F6\u6267\u884C -com.oceanbase.odc.ResourceType.ODC_SCHEDULE_TRIGGER=\u4F5C\u4E1A\u89E6\u53D1\u5668 -com.oceanbase.odc.ResourceType.ODC_SCHEDULE_TASK=\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_DLM_LIMITER_CONFIG=\u9650\u6D41\u914D\u7F6E -com.oceanbase.odc.ResourceType.ODC_PL_DEBUG_SESSION=PL \u8C03\u8BD5\u4F1A\u8BDD -com.oceanbase.odc.ResourceType.ODC_JOB=\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_AUTOMATION_RULE=\u81EA\u52A8\u5316\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_EXTERNAL_SQL_INTERCEPTOR=\u5916\u90E8 SQL \u62E6\u622A\u5668 -com.oceanbase.odc.ResourceType.ODC_INTEGRATION=\u96C6\u6210 -com.oceanbase.odc.ResourceType.ODC_PROJECT=\u9879\u76EE -com.oceanbase.odc.ResourceType.ODC_ENVIRONMENT=\u73AF\u5883 -com.oceanbase.odc.ResourceType.ODC_DATASOURCE=\u6570\u636E\u6E90 -com.oceanbase.odc.ResourceType.ODC_DATABASE=\u6570\u636E\u5E93 -com.oceanbase.odc.ResourceType.ODC_LOGICAL_TABLE=\u903B\u8F91\u8868 -com.oceanbase.odc.ResourceType.ODC_TABLE=\u6570\u636E\u8868 -com.oceanbase.odc.ResourceType.ODC_RULESET=\u89C4\u5219\u96C6 -com.oceanbase.odc.ResourceType.ODC_RULE=\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_SENSITIVE_COLUMN=\u654F\u611F\u5217 -com.oceanbase.odc.ResourceType.ODC_SENSITIVE_RULE=\u8BC6\u522B\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_MASKING_ALGORITHM=\u8131\u654F\u7B97\u6CD5 -com.oceanbase.odc.ResourceType.ODC_SENSITIVE_COLUMN_SCANNING_TASK=\u654F\u611F\u5217\u626B\u63CF\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_APPROVAL_FLOW_CONFIG=\u5BA1\u6279\u6D41\u914D\u7F6E -com.oceanbase.odc.ResourceType.ODC_RISK_LEVEL=\u98CE\u9669\u7B49\u7EA7 -com.oceanbase.odc.ResourceType.ODC_RISK_DETECT_RULE=\u98CE\u9669\u7B49\u7EA7\u8BC6\u522B\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_INDIVIDUAL_ORGANIZATION=\u4E2A\u4EBA\u7A7A\u95F4 -com.oceanbase.odc.ResourceType.ODC_TEAM_ORGANIZATION=\u56E2\u961F\u7A7A\u95F4 +com.oceanbase.odc.ResourceType.ODC_STORAGE_OBJECT_METADATA=对象元数据 +com.oceanbase.odc.ResourceType.ODC_EXTERNAL_APPROVAL=外部审批单 +com.oceanbase.odc.ResourceType.ODC_TUTORIAL=教程 +com.oceanbase.odc.ResourceType.OB_CLUSTER=OB 集群 +com.oceanbase.odc.ResourceType.OB_TENANT=OB 租户 +com.oceanbase.odc.ResourceType.OB_USER=数据库用户 +com.oceanbase.odc.ResourceType.OB_DATABASE=数据库 +com.oceanbase.odc.ResourceType.OB_TABLE=表 +com.oceanbase.odc.ResourceType.OB_INDEX=索引 +com.oceanbase.odc.ResourceType.OB_COLUMN=列 +com.oceanbase.odc.ResourceType.OB_CONSTRAINT=约束 +com.oceanbase.odc.ResourceType.OB_VIEW=视图 +com.oceanbase.odc.ResourceType.OB_SEQUENCE=序列 +com.oceanbase.odc.ResourceType.OB_TRIGGER=触发器 +com.oceanbase.odc.ResourceType.OB_FUNCTION=函数 +com.oceanbase.odc.ResourceType.OB_PROCEDURE=存储过程 +com.oceanbase.odc.ResourceType.OB_PACKAGE=程序包 +com.oceanbase.odc.ResourceType.OB_TYPE=类型 +com.oceanbase.odc.ResourceType.OB_SYNONYM=同义词 +com.oceanbase.odc.ResourceType.OB_SESSION=数据库会话 +com.oceanbase.odc.ResourceType.ALIYUN_ACCOUNT=阿里云主账号 +com.oceanbase.odc.ResourceType.ALIYUN_SUB_ACCOUNT=阿里云子账号 +com.oceanbase.odc.ResourceType.ODC_DATA_MASKING_RULE=脱敏规则 +com.oceanbase.odc.ResourceType.ODC_DATA_MASKING_POLICY=脱敏策略 +com.oceanbase.odc.ResourceType.ODC_SHADOWTABLE_COMPARING_TASK=影子表结构对比任务 +com.oceanbase.odc.ResourceType.ODC_SCHEDULE=定时执行 +com.oceanbase.odc.ResourceType.ODC_SCHEDULE_TRIGGER=作业触发器 +com.oceanbase.odc.ResourceType.ODC_SCHEDULE_TASK=调度任务 +com.oceanbase.odc.ResourceType.ODC_DLM_LIMITER_CONFIG=限流配置 +com.oceanbase.odc.ResourceType.ODC_PL_DEBUG_SESSION=PL 调试会话 +com.oceanbase.odc.ResourceType.ODC_JOB=任务 +com.oceanbase.odc.ResourceType.ODC_AUTOMATION_RULE=自动化规则 +com.oceanbase.odc.ResourceType.ODC_EXTERNAL_SQL_INTERCEPTOR=外部 SQL 拦截器 +com.oceanbase.odc.ResourceType.ODC_INTEGRATION=集成 +com.oceanbase.odc.ResourceType.ODC_PROJECT=项目 +com.oceanbase.odc.ResourceType.ODC_ENVIRONMENT=环境 +com.oceanbase.odc.ResourceType.ODC_DATASOURCE=数据源 +com.oceanbase.odc.ResourceType.ODC_DATABASE=数据库 +com.oceanbase.odc.ResourceType.ODC_LOGICAL_TABLE=逻辑表 +com.oceanbase.odc.ResourceType.ODC_TABLE=数据表 +com.oceanbase.odc.ResourceType.ODC_RULESET=规则集 +com.oceanbase.odc.ResourceType.ODC_RULE=规则 +com.oceanbase.odc.ResourceType.ODC_SENSITIVE_COLUMN=敏感列 +com.oceanbase.odc.ResourceType.ODC_SENSITIVE_RULE=识别规则 +com.oceanbase.odc.ResourceType.ODC_MASKING_ALGORITHM=脱敏算法 +com.oceanbase.odc.ResourceType.ODC_SENSITIVE_COLUMN_SCANNING_TASK=敏感列扫描任务 +com.oceanbase.odc.ResourceType.ODC_APPROVAL_FLOW_CONFIG=审批流配置 +com.oceanbase.odc.ResourceType.ODC_RISK_LEVEL=风险等级 +com.oceanbase.odc.ResourceType.ODC_RISK_DETECT_RULE=风险等级识别规则 +com.oceanbase.odc.ResourceType.ODC_INDIVIDUAL_ORGANIZATION=个人空间 +com.oceanbase.odc.ResourceType.ODC_TEAM_ORGANIZATION=团队空间 -com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_CHANNEL=\u901A\u77E5\u901A\u9053 -com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_POLICY=\u901A\u77E5\u89C4\u5219 -com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_MESSAGE=\u901A\u77E5\u6D88\u606F -com.oceanbase.odc.ResourceType.ODC_STRUCTURE_COMPARISON_TASK=\u7ED3\u6784\u5BF9\u6BD4\u4EFB\u52A1 -com.oceanbase.odc.ResourceType.ODC_DATABASE_CHANGE_ORDER_TEMPLATE=\u6570\u636E\u5E93\u53D8\u66F4\u987A\u5E8F\u6A21\u677F +com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_CHANNEL=通知通道 +com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_POLICY=通知规则 +com.oceanbase.odc.ResourceType.ODC_NOTIFICATION_MESSAGE=通知消息 +com.oceanbase.odc.ResourceType.ODC_STRUCTURE_COMPARISON_TASK=结构对比任务 +com.oceanbase.odc.ResourceType.ODC_DATABASE_CHANGE_ORDER_TEMPLATE=数据库变更顺序模板 # # Batch Import # -com.oceanbase.odc.FieldName.DATASOURCE_NAME=\u6570\u636E\u6E90\u540D\u79F0 -com.oceanbase.odc.FieldName.DATASOURCE_TYPE=\u6570\u636E\u6E90\u7C7B\u578B -com.oceanbase.odc.FieldName.DATASOURCE_HOST=\u4E3B\u673A IP -com.oceanbase.odc.FieldName.DATASOURCE_PORT=\u7AEF\u53E3 -com.oceanbase.odc.FieldName.DATASOURCE_CLUSTERNAME=\u96C6\u7FA4\u540D -com.oceanbase.odc.FieldName.DATASOURCE_TENANTNAME=\u79DF\u6237\u540D -com.oceanbase.odc.FieldName.DATASOURCE_USERNAME=\u6570\u636E\u5E93\u7528\u6237\u540D -com.oceanbase.odc.FieldName.DATASOURCE_PASSWORD=\u6570\u636E\u5E93\u5BC6\u7801 -com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT=\u73AF\u5883 -com.oceanbase.odc.FieldName.DATASOURCE_SYSTENANTUSERNAME=sys \u79DF\u6237\u8D26\u53F7 -com.oceanbase.odc.FieldName.DATASOURCE_SYSTENANTPASSWORD=sys \u79DF\u6237\u5BC6\u7801 -com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_DEFAULT=\u9ED8\u8BA4 -com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_DEV=\u5F00\u53D1 -com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_PROD=\u751F\u4EA7 -com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_SIT=\u6D4B\u8BD5 -com.oceanbase.odc.FieldName.USER_ACCOUNTNAME=\u8D26\u53F7 -com.oceanbase.odc.FieldName.USER_NAME=\u59D3\u540D -com.oceanbase.odc.FieldName.USER_PASSWORD=\u5BC6\u7801 -com.oceanbase.odc.FieldName.USER_ENABLED=\u8D26\u53F7\u72B6\u6001 -com.oceanbase.odc.FieldName.USER_ROLEIDS=\u89D2\u8272 -com.oceanbase.odc.FieldName.USER_DESCRIPTION=\u5907\u6CE8 +com.oceanbase.odc.FieldName.DATASOURCE_NAME=数据源名称 +com.oceanbase.odc.FieldName.DATASOURCE_TYPE=数据源类型 +com.oceanbase.odc.FieldName.DATASOURCE_HOST=主机 IP +com.oceanbase.odc.FieldName.DATASOURCE_PORT=端口 +com.oceanbase.odc.FieldName.DATASOURCE_CLUSTERNAME=集群名 +com.oceanbase.odc.FieldName.DATASOURCE_TENANTNAME=租户名 +com.oceanbase.odc.FieldName.DATASOURCE_USERNAME=数据库用户名 +com.oceanbase.odc.FieldName.DATASOURCE_PASSWORD=数据库密码 +com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT=环境 +com.oceanbase.odc.FieldName.DATASOURCE_SYSTENANTUSERNAME=sys 租户账号 +com.oceanbase.odc.FieldName.DATASOURCE_SYSTENANTPASSWORD=sys 租户密码 +com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_DEFAULT=默认 +com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_DEV=开发 +com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_PROD=生产 +com.oceanbase.odc.FieldName.DATASOURCE_ENVIRONMENT_SIT=测试 +com.oceanbase.odc.FieldName.USER_ACCOUNTNAME=账号 +com.oceanbase.odc.FieldName.USER_NAME=姓名 +com.oceanbase.odc.FieldName.USER_PASSWORD=密码 +com.oceanbase.odc.FieldName.USER_ENABLED=账号状态 +com.oceanbase.odc.FieldName.USER_ROLEIDS=角色 +com.oceanbase.odc.FieldName.USER_DESCRIPTION=备注 -com.oceanbase.odc.Symbols.LEFT_BRACKET=\u3010 -com.oceanbase.odc.Symbols.RIGHT_BRACKET=\u3011 -com.oceanbase.odc.Symbols.COMMA=\uFF0C +com.oceanbase.odc.Symbols.LEFT_BRACKET=【 +com.oceanbase.odc.Symbols.RIGHT_BRACKET=】 +com.oceanbase.odc.Symbols.COMMA=, # # LimitMetric # -com.oceanbase.odc.LimitMetric.TRANSFER_TASK_COUNT=\u5BFC\u5165\u5BFC\u51FA\u4EFB\u52A1\u6570\u91CF -com.oceanbase.odc.LimitMetric.MOCK_TASK_COUNT=\u6A21\u62DF\u6570\u636E\u4EFB\u52A1\u6570\u91CF -com.oceanbase.odc.LimitMetric.OBCLIENT_INSTANCE_COUNT=\u547D\u4EE4\u884C\u7A97\u53E3\u6570\u91CF -com.oceanbase.odc.LimitMetric.FAILED_LOGIN_ATTEMPT_COUNT=\u767B\u5F55\u5931\u8D25\u5C1D\u8BD5\u6B21\u6570 -com.oceanbase.odc.LimitMetric.SQL_LENGTH=SQL \u8BED\u53E5\u5B57\u7B26\u6570 -com.oceanbase.odc.LimitMetric.SQL_SIZE=SQL \u8BED\u53E5\u5B57\u8282\u6570 -com.oceanbase.odc.LimitMetric.SQL_STATEMENT_COUNT=SQL \u8BED\u53E5\u6570\u91CF -com.oceanbase.odc.LimitMetric.FILE_SIZE=\u6587\u4EF6\u5B57\u8282\u6570 -com.oceanbase.odc.LimitMetric.FILE_COUNT=\u6587\u4EF6\u6570\u91CF -com.oceanbase.odc.LimitMetric.TRANSACTION_QUERY_LIMIT=\u67E5\u8BE2\u7ED3\u679C\u96C6\u5927\u5C0F -com.oceanbase.odc.LimitMetric.SESSION_COUNT=\u6570\u636E\u5E93 SESSION \u6570\u91CF -com.oceanbase.odc.LimitMetric.USER_COUNT=\u6570\u636E\u5E93\u8FDE\u63A5\u7528\u6237\u6570 -com.oceanbase.odc.LimitMetric.EXPORT_OBJECT_COUNT=\u5BFC\u51FA\u5BF9\u8C61\u6570\u91CF -com.oceanbase.odc.LimitMetric.TABLE_NAME_LENGTH=\u8868\u540D\u957F\u5EA6 +com.oceanbase.odc.LimitMetric.TRANSFER_TASK_COUNT=导入导出任务数量 +com.oceanbase.odc.LimitMetric.MOCK_TASK_COUNT=模拟数据任务数量 +com.oceanbase.odc.LimitMetric.OBCLIENT_INSTANCE_COUNT=命令行窗口数量 +com.oceanbase.odc.LimitMetric.FAILED_LOGIN_ATTEMPT_COUNT=登录失败尝试次数 +com.oceanbase.odc.LimitMetric.SQL_LENGTH=SQL 语句字符数 +com.oceanbase.odc.LimitMetric.SQL_SIZE=SQL 语句字节数 +com.oceanbase.odc.LimitMetric.SQL_STATEMENT_COUNT=SQL 语句数量 +com.oceanbase.odc.LimitMetric.FILE_SIZE=文件字节数 +com.oceanbase.odc.LimitMetric.FILE_COUNT=文件数量 +com.oceanbase.odc.LimitMetric.TRANSACTION_QUERY_LIMIT=查询结果集大小 +com.oceanbase.odc.LimitMetric.SESSION_COUNT=数据库 SESSION 数量 +com.oceanbase.odc.LimitMetric.USER_COUNT=数据库连接用户数 +com.oceanbase.odc.LimitMetric.EXPORT_OBJECT_COUNT=导出对象数量 +com.oceanbase.odc.LimitMetric.TABLE_NAME_LENGTH=表名长度 # # ConnectionAccountType # -com.oceanbase.odc.ConnectionAccountType.MAIN=\u8BFB\u5199\u8D26\u53F7 -com.oceanbase.odc.ConnectionAccountType.READONLY=\u53EA\u8BFB\u8D26\u53F7 -com.oceanbase.odc.ConnectionAccountType.SYS_READ=SYS\u79DF\u6237\u8D26\u53F7 +com.oceanbase.odc.ConnectionAccountType.MAIN=读写账号 +com.oceanbase.odc.ConnectionAccountType.READONLY=只读账号 +com.oceanbase.odc.ConnectionAccountType.SYS_READ=SYS租户账号 # # AuditEventAction # -com.oceanbase.odc.AuditEventAction.DISABLE_ROLE=\u7981\u7528\u89D2\u8272 -com.oceanbase.odc.AuditEventAction.DELETE_ROLE=\u5220\u9664\u89D2\u8272 -com.oceanbase.odc.AuditEventAction.DELETE_DATA_MASKING_RULE=\u5220\u9664\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.UPDATE_PERSONAL_CONFIGURATION=\u66F4\u65B0\u4E2A\u4EBA\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.SET_PASSWORD=\u8BBE\u7F6E\u5BC6\u7801 -com.oceanbase.odc.AuditEventAction.CHANGE_PASSWORD=\u4FEE\u6539\u5BC6\u7801 -com.oceanbase.odc.AuditEventAction.RESET_PASSWORD=\u91CD\u7F6E\u5BC6\u7801 -com.oceanbase.odc.AuditEventAction.CREATE_CONNECTION=\u521B\u5EFA\u8FDE\u63A5 -com.oceanbase.odc.AuditEventAction.DELETE_CONNECTION=\u5220\u9664\u8FDE\u63A5 -com.oceanbase.odc.AuditEventAction.UPDATE_CONNECTION=\u66F4\u65B0\u8FDE\u63A5 -com.oceanbase.odc.AuditEventAction.CREATE_SESSION=\u521B\u5EFA\u4F1A\u8BDD -com.oceanbase.odc.AuditEventAction.CLOSE_SESSION=\u5173\u95ED\u4F1A\u8BDD -com.oceanbase.odc.AuditEventAction.ENABLE_CONNECTION=\u542F\u7528\u8FDE\u63A5 -com.oceanbase.odc.AuditEventAction.DISABLE_CONNECTION=\u7981\u7528\u8FDE\u63A5 -com.oceanbase.odc.AuditEventAction.DOWNLOAD_SCRIPT=\u4E0B\u8F7D\u811A\u672C -com.oceanbase.odc.AuditEventAction.UPDATE_SCRIPT=\u66F4\u65B0\u811A\u672C -com.oceanbase.odc.AuditEventAction.DELETE_SCRIPT=\u5220\u9664\u811A\u672C -com.oceanbase.odc.AuditEventAction.UPLOAD_SCRIPT=\u4E0A\u4F20\u811A\u672C -com.oceanbase.odc.AuditEventAction.UPDATE_ORGANIZATION_CONFIGURATION=\u66F4\u65B0\u7EC4\u7EC7\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.ADD_USER=\u589E\u52A0\u7528\u6237 -com.oceanbase.odc.AuditEventAction.UPDATE_USER=\u66F4\u65B0\u7528\u6237 -com.oceanbase.odc.AuditEventAction.DELETE_USER=\u5220\u9664\u7528\u6237 -com.oceanbase.odc.AuditEventAction.ENABLE_USER=\u542F\u7528\u7528\u6237 -com.oceanbase.odc.AuditEventAction.DISABLE_USER=\u7981\u7528\u7528\u6237 -com.oceanbase.odc.AuditEventAction.ADD_ROLE=\u589E\u52A0\u89D2\u8272 -com.oceanbase.odc.AuditEventAction.UPDATE_ROLE=\u66F4\u65B0\u89D2\u8272 -com.oceanbase.odc.AuditEventAction.ENABLE_ROLE=\u542F\u7528\u89D2\u8272 -com.oceanbase.odc.AuditEventAction.ADD_RESOURCE_GROUP=\u589E\u52A0\u8D44\u6E90\u7EC4 -com.oceanbase.odc.AuditEventAction.UPDATE_RESOURCE_GROUP=\u66F4\u65B0\u8D44\u6E90\u7EC4 -com.oceanbase.odc.AuditEventAction.DELETE_RESOURCE_GROUP=\u5220\u9664\u8D44\u6E90\u7EC4 -com.oceanbase.odc.AuditEventAction.ENABLE_RESOURCE_GROUP=\u542F\u7528\u8D44\u6E90\u7EC4 -com.oceanbase.odc.AuditEventAction.DISABLE_RESOURCE_GROUP=\u7981\u7528\u8D44\u6E90\u7EC4 +com.oceanbase.odc.AuditEventAction.DISABLE_ROLE=禁用角色 +com.oceanbase.odc.AuditEventAction.DELETE_ROLE=删除角色 +com.oceanbase.odc.AuditEventAction.DELETE_DATA_MASKING_RULE=删除脱敏规则 +com.oceanbase.odc.AuditEventAction.UPDATE_PERSONAL_CONFIGURATION=更新个人配置 +com.oceanbase.odc.AuditEventAction.SET_PASSWORD=设置密码 +com.oceanbase.odc.AuditEventAction.CHANGE_PASSWORD=修改密码 +com.oceanbase.odc.AuditEventAction.RESET_PASSWORD=重置密码 +com.oceanbase.odc.AuditEventAction.CREATE_CONNECTION=创建连接 +com.oceanbase.odc.AuditEventAction.DELETE_CONNECTION=删除连接 +com.oceanbase.odc.AuditEventAction.UPDATE_CONNECTION=更新连接 +com.oceanbase.odc.AuditEventAction.CREATE_SESSION=创建会话 +com.oceanbase.odc.AuditEventAction.CLOSE_SESSION=关闭会话 +com.oceanbase.odc.AuditEventAction.ENABLE_CONNECTION=启用连接 +com.oceanbase.odc.AuditEventAction.DISABLE_CONNECTION=禁用连接 +com.oceanbase.odc.AuditEventAction.DOWNLOAD_SCRIPT=下载脚本 +com.oceanbase.odc.AuditEventAction.UPDATE_SCRIPT=更新脚本 +com.oceanbase.odc.AuditEventAction.DELETE_SCRIPT=删除脚本 +com.oceanbase.odc.AuditEventAction.UPLOAD_SCRIPT=上传脚本 +com.oceanbase.odc.AuditEventAction.UPDATE_ORGANIZATION_CONFIGURATION=更新组织配置 +com.oceanbase.odc.AuditEventAction.ADD_USER=增加用户 +com.oceanbase.odc.AuditEventAction.UPDATE_USER=更新用户 +com.oceanbase.odc.AuditEventAction.DELETE_USER=删除用户 +com.oceanbase.odc.AuditEventAction.ENABLE_USER=启用用户 +com.oceanbase.odc.AuditEventAction.DISABLE_USER=禁用用户 +com.oceanbase.odc.AuditEventAction.ADD_ROLE=增加角色 +com.oceanbase.odc.AuditEventAction.UPDATE_ROLE=更新角色 +com.oceanbase.odc.AuditEventAction.ENABLE_ROLE=启用角色 +com.oceanbase.odc.AuditEventAction.ADD_RESOURCE_GROUP=增加资源组 +com.oceanbase.odc.AuditEventAction.UPDATE_RESOURCE_GROUP=更新资源组 +com.oceanbase.odc.AuditEventAction.DELETE_RESOURCE_GROUP=删除资源组 +com.oceanbase.odc.AuditEventAction.ENABLE_RESOURCE_GROUP=启用资源组 +com.oceanbase.odc.AuditEventAction.DISABLE_RESOURCE_GROUP=禁用资源组 com.oceanbase.odc.AuditEventAction.SELECT=SELECT com.oceanbase.odc.AuditEventAction.DELETE=DELETE com.oceanbase.odc.AuditEventAction.INSERT=INSERT @@ -182,652 +182,652 @@ com.oceanbase.odc.AuditEventAction.ALTER=ALTER com.oceanbase.odc.AuditEventAction.TRUNCATE=TRUNCATE com.oceanbase.odc.AuditEventAction.CREATE=CREATE com.oceanbase.odc.AuditEventAction.OTHERS=OTHERS -com.oceanbase.odc.AuditEventAction.EXPORT_AUDIT_EVENT=\u5BFC\u51FA\u5BA1\u8BA1\u4E8B\u4EF6 -com.oceanbase.odc.AuditEventAction.CREATE_FLOW_CONFIG=\u521B\u5EFA\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.UPDATE_FLOW_CONFIG=\u66F4\u65B0\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.ENABLE_FLOW_CONFIG=\u542F\u7528\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.DISABLE_FLOW_CONFIG=\u7981\u7528\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.DELETE_FLOW_CONFIG=\u5220\u9664\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.BATCH_DELETE_FLOW_CONFIG=\u6279\u91CF\u5220\u9664\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventAction.CREATE_TASK=\u521B\u5EFA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_TASK=\u505C\u6B62\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.ROLLBACK_TASK=\u56DE\u6EDA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_TASK=\u6267\u884C\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE=\u540C\u610F -com.oceanbase.odc.AuditEventAction.REJECT=\u62D2\u7EDD -com.oceanbase.odc.AuditEventAction.CREATE_ASYNC_TASK=\u521B\u5EFA\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_MULTIPLE_ASYNC_TASK=\u521B\u5EFA\u591A\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_MOCKDATA_TASK=\u521B\u5EFA\u6A21\u62DF\u6570\u636E\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_IMPORT_TASK=\u521B\u5EFA\u5BFC\u5165\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_EXPORT_TASK=\u521B\u5EFA\u5BFC\u51FA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_EXPORT_RESULT_SET_TASK=\u521B\u5EFA\u5BFC\u51FA\u7ED3\u679C\u96C6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_PERMISSION_APPLY_TASK=\u521B\u5EFA\u6743\u9650\u7533\u8BF7\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_SHADOWTABLE_SYNC_TASK=\u521B\u5EFA\u5F71\u5B50\u8868\u540C\u6B65\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_STRUCTURE_COMPARISON_TASK=\u521B\u5EFA\u7ED3\u6784\u6BD4\u5BF9\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_PARTITION_PLAN_TASK=\u521B\u5EFA\u5206\u533A\u8BA1\u5212\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_ALTER_SCHEDULE_TASK=\u521B\u5EFA\u4FEE\u6539\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_ONLINE_SCHEMA_CHANGE_TASK=\u521B\u5EFA\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_APPLY_PROJECT_PERMISSION_TASK=\u521B\u5EFA\u7533\u8BF7\u9879\u76EE\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_APPLY_DATABASE_PERMISSION_TASK=\u521B\u5EFA\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_APPLY_TABLE_PERMISSION_TASK=\u521B\u5EFA\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_ASYNC_TASK=\u505C\u6B62\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_MULTIPLE_ASYNC_TASK=\u505C\u6B62\u591A\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_MOCKDATA_TASK=\u505C\u6B62\u6A21\u62DF\u6570\u636E\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_IMPORT_TASK=\u505C\u6B62\u5BFC\u5165\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_EXPORT_TASK=\u505C\u6B62\u5BFC\u51FA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_EXPORT_RESULT_SET_TASK=\u505C\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_SHADOWTABLE_SYNC_TASK=\u505C\u6B62\u5F71\u5B50\u8868\u540C\u6B65\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_STRUCTURE_COMPARISON_TASK=\u505C\u6B62\u7ED3\u6784\u6BD4\u5BF9\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_PARTITION_PLAN_TASK=\u505C\u6B62\u5206\u533A\u8BA1\u5212\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_ALTER_SCHEDULE_TASK=\u505C\u6B62\u4FEE\u6539\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_ONLINE_SCHEMA_CHANGE_TASK=\u505C\u6B62\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_APPLY_PROJECT_PERMISSION_TASK=\u505C\u6B62\u7533\u8BF7\u9879\u76EE\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_APPLY_DATABASE_PERMISSION_TASK=\u505C\u6B62\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.STOP_APPLY_TABLE_PERMISSION_TASK=\u505C\u6B62\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_ASYNC_TASK=\u6267\u884C\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_MULTIPLE_ASYNC_TASK=\u6267\u884C\u591A\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_MOCKDATA_TASK=\u6267\u884C\u6A21\u62DF\u6570\u636E\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_IMPORT_TASK=\u6267\u884C\u5BFC\u5165\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_EXPORT_TASK=\u6267\u884C\u5BFC\u51FA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_EXPORT_RESULT_SET_TASK=\u6267\u884C\u5BFC\u51FA\u7ED3\u679C\u96C6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_SHADOWTABLE_SYNC_TASK=\u6267\u884C\u5F71\u5B50\u8868\u540C\u6B65\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_STRUCTURE_COMPARISON_TASK=\u6267\u884C\u7ED3\u6784\u6BD4\u5BF9\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_PARTITION_PLAN_TASK=\u6267\u884C\u5206\u533A\u8BA1\u5212\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_ALTER_SCHEDULE_TASK=\u6267\u884C\u4FEE\u6539\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.EXECUTE_ONLINE_SCHEMA_CHANGE_TASK=\u6267\u884C\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_ASYNC_TASK=\u540C\u610F\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_MULTIPLE_ASYNC_TASK=\u540C\u610F\u591A\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_MOCKDATA_TASK=\u540C\u610F\u6A21\u62DF\u6570\u636E\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_IMPORT_TASK=\u540C\u610F\u5BFC\u5165\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_EXPORT_TASK=\u540C\u610F\u5BFC\u51FA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_EXPORT_RESULT_SET_TASK=\u540C\u610F\u5BFC\u51FA\u7ED3\u679C\u96C6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_PERMISSION_APPLY_TASK=\u540C\u610F\u6743\u9650\u7533\u8BF7\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_SHADOWTABLE_SYNC_TASK=\u540C\u610F\u5F71\u5B50\u8868\u540C\u6B65\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_STRUCTURE_COMPARISON_TASK=\u540C\u610F\u7ED3\u6784\u6BD4\u5BF9\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_PARTITION_PLAN_TASK=\u540C\u610F\u5206\u533A\u8BA1\u5212\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_ALTER_SCHEDULE_TASK=\u540C\u610F\u4FEE\u6539\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_ONLINE_SCHEMA_CHANGE_TASK=\u540C\u610F\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_PROJECT_PERMISSION_TASK=\u540C\u610F\u7533\u8BF7\u9879\u76EE\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_DATABASE_PERMISSION_TASK=\u540C\u610F\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_TABLE_PERMISSION_TASK=\u540C\u610F\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_ASYNC_TASK=\u62D2\u7EDD\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_MULTIPLE_ASYNC_TASK=\u62D2\u7EDD\u591A\u5E93\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_MOCKDATA_TASK=\u62D2\u7EDD\u6A21\u62DF\u6570\u636E\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_IMPORT_TASK=\u62D2\u7EDD\u5BFC\u5165\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_EXPORT_TASK=\u62D2\u7EDD\u5BFC\u51FA\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_EXPORT_RESULT_SET_TASK=\u62D2\u7EDD\u5BFC\u51FA\u7ED3\u679C\u96C6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_PERMISSION_APPLY_TASK=\u62D2\u7EDD\u6743\u9650\u7533\u8BF7\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_SHADOWTABLE_SYNC_TASK=\u62D2\u7EDD\u5F71\u5B50\u8868\u540C\u6B65\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_STRUCTURE_COMPARISON_TASK=\u62D2\u7EDD\u7ED3\u6784\u6BD4\u5BF9\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_PARTITION_PLAN_TASK=\u62D2\u7EDD\u5206\u533A\u8BA1\u5212\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_ALTER_SCHEDULE_TASK=\u62D2\u7EDD\u4FEE\u6539\u8C03\u5EA6\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_ONLINE_SCHEMA_CHANGE_TASK=\u62D2\u7EDD\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_APPLY_PROJECT_PERMISSION_TASK=\u62D2\u7EDD\u7533\u8BF7\u9879\u76EE\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_APPLY_DATABASE_PERMISSION_TASK=\u62D2\u7EDD\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.REJECT_APPLY_TABLE_PERMISSION_TASK=\u62D2\u7EDD\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650\u4EFB\u52A1 -com.oceanbase.odc.AuditEventAction.CREATE_DATA_MASKING_RULE=\u521B\u5EFA\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.UPDATE_DATA_MASKING_RULE=\u66F4\u65B0\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.ENABLE_DATA_MASKING_RULE=\u542F\u7528\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.DISABLE_DATA_MASKING_RULE=\u7981\u7528\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.CREATE_DATA_MASKING_POLICY=\u521B\u5EFA\u8131\u654F\u7B56\u7565 -com.oceanbase.odc.AuditEventAction.UPDATE_DATA_MASKING_POLICY=\u66F4\u65B0\u8131\u654F\u7B56\u7565 -com.oceanbase.odc.AuditEventAction.DELETE_DATA_MASKING_POLICY=\u5220\u9664\u8131\u654F\u7B56\u7565 -com.oceanbase.odc.AuditEventAction.CREATE_INTEGRATION=\u521B\u5EFA\u96C6\u6210 -com.oceanbase.odc.AuditEventAction.ENABLE_INTEGRATION=\u542F\u7528\u96C6\u6210 -com.oceanbase.odc.AuditEventAction.DISABLE_INTEGRATION=\u7981\u7528\u96C6\u6210 -com.oceanbase.odc.AuditEventAction.DELETE_INTEGRATION=\u5220\u9664\u96C6\u6210 -com.oceanbase.odc.AuditEventAction.ADD_DATABASE=\u589E\u52A0\u6570\u636E\u5E93 -com.oceanbase.odc.AuditEventAction.DELETE_DATABASE=\u5220\u9664\u6570\u636E\u5E93 -com.oceanbase.odc.AuditEventAction.TRANSFER_DATABASE_TO_PROJECT=\u8F6C\u79FB\u9879\u76EE -com.oceanbase.odc.AuditEventAction.CREATE_DATASOURCE=\u521B\u5EFA\u6570\u636E\u6E90 -com.oceanbase.odc.AuditEventAction.DELETE_DATASOURCE=\u5220\u9664\u6570\u636E\u6E90 -com.oceanbase.odc.AuditEventAction.UPDATE_DATASOURCE=\u66F4\u65B0\u6570\u636E\u6E90 -com.oceanbase.odc.AuditEventAction.CREATE_PROJECT=\u521B\u5EFA\u9879\u76EE -com.oceanbase.odc.AuditEventAction.UPDATE_SQL_SECURITY_RULE=\u4FEE\u6539 SQL \u5B89\u5168\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.GRANT_DATABASE_PERMISSION=\u65B0\u589E\u5E93\u6743\u9650 -com.oceanbase.odc.AuditEventAction.REVOKE_DATABASE_PERMISSION=\u56DE\u6536\u5E93\u6743\u9650 -com.oceanbase.odc.AuditEventAction.GRANT_TABLE_PERMISSION=\u65B0\u589E\u8868\u6743\u9650 -com.oceanbase.odc.AuditEventAction.REVOKE_TABLE_PERMISSION=\u56DE\u6536\u8868\u6743\u9650 +com.oceanbase.odc.AuditEventAction.EXPORT_AUDIT_EVENT=导出审计事件 +com.oceanbase.odc.AuditEventAction.CREATE_FLOW_CONFIG=创建流程配置 +com.oceanbase.odc.AuditEventAction.UPDATE_FLOW_CONFIG=更新流程配置 +com.oceanbase.odc.AuditEventAction.ENABLE_FLOW_CONFIG=启用流程配置 +com.oceanbase.odc.AuditEventAction.DISABLE_FLOW_CONFIG=禁用流程配置 +com.oceanbase.odc.AuditEventAction.DELETE_FLOW_CONFIG=删除流程配置 +com.oceanbase.odc.AuditEventAction.BATCH_DELETE_FLOW_CONFIG=批量删除流程配置 +com.oceanbase.odc.AuditEventAction.CREATE_TASK=创建任务 +com.oceanbase.odc.AuditEventAction.STOP_TASK=停止任务 +com.oceanbase.odc.AuditEventAction.ROLLBACK_TASK=回滚任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_TASK=执行任务 +com.oceanbase.odc.AuditEventAction.APPROVE=同意 +com.oceanbase.odc.AuditEventAction.REJECT=拒绝 +com.oceanbase.odc.AuditEventAction.CREATE_ASYNC_TASK=创建数据库变更任务 +com.oceanbase.odc.AuditEventAction.CREATE_MULTIPLE_ASYNC_TASK=创建多库变更任务 +com.oceanbase.odc.AuditEventAction.CREATE_MOCKDATA_TASK=创建模拟数据任务 +com.oceanbase.odc.AuditEventAction.CREATE_IMPORT_TASK=创建导入任务 +com.oceanbase.odc.AuditEventAction.CREATE_EXPORT_TASK=创建导出任务 +com.oceanbase.odc.AuditEventAction.CREATE_EXPORT_RESULT_SET_TASK=创建导出结果集任务 +com.oceanbase.odc.AuditEventAction.CREATE_PERMISSION_APPLY_TASK=创建权限申请任务 +com.oceanbase.odc.AuditEventAction.CREATE_SHADOWTABLE_SYNC_TASK=创建影子表同步任务 +com.oceanbase.odc.AuditEventAction.CREATE_STRUCTURE_COMPARISON_TASK=创建结构比对任务 +com.oceanbase.odc.AuditEventAction.CREATE_PARTITION_PLAN_TASK=创建分区计划任务 +com.oceanbase.odc.AuditEventAction.CREATE_ALTER_SCHEDULE_TASK=创建修改调度任务 +com.oceanbase.odc.AuditEventAction.CREATE_ONLINE_SCHEMA_CHANGE_TASK=创建无锁结构变更任务 +com.oceanbase.odc.AuditEventAction.CREATE_APPLY_PROJECT_PERMISSION_TASK=创建申请项目权限任务 +com.oceanbase.odc.AuditEventAction.CREATE_APPLY_DATABASE_PERMISSION_TASK=创建申请数据库权限任务 +com.oceanbase.odc.AuditEventAction.CREATE_APPLY_TABLE_PERMISSION_TASK=创建申请数据表权限任务 +com.oceanbase.odc.AuditEventAction.STOP_ASYNC_TASK=停止数据库变更任务 +com.oceanbase.odc.AuditEventAction.STOP_MULTIPLE_ASYNC_TASK=停止多库变更任务 +com.oceanbase.odc.AuditEventAction.STOP_MOCKDATA_TASK=停止模拟数据任务 +com.oceanbase.odc.AuditEventAction.STOP_IMPORT_TASK=停止导入任务 +com.oceanbase.odc.AuditEventAction.STOP_EXPORT_TASK=停止导出任务 +com.oceanbase.odc.AuditEventAction.STOP_EXPORT_RESULT_SET_TASK=停止导出结果集任务 +com.oceanbase.odc.AuditEventAction.STOP_SHADOWTABLE_SYNC_TASK=停止影子表同步任务 +com.oceanbase.odc.AuditEventAction.STOP_STRUCTURE_COMPARISON_TASK=停止结构比对任务 +com.oceanbase.odc.AuditEventAction.STOP_PARTITION_PLAN_TASK=停止分区计划任务 +com.oceanbase.odc.AuditEventAction.STOP_ALTER_SCHEDULE_TASK=停止修改调度任务 +com.oceanbase.odc.AuditEventAction.STOP_ONLINE_SCHEMA_CHANGE_TASK=停止无锁结构变更任务 +com.oceanbase.odc.AuditEventAction.STOP_APPLY_PROJECT_PERMISSION_TASK=停止申请项目权限任务 +com.oceanbase.odc.AuditEventAction.STOP_APPLY_DATABASE_PERMISSION_TASK=停止申请数据库权限任务 +com.oceanbase.odc.AuditEventAction.STOP_APPLY_TABLE_PERMISSION_TASK=停止申请数据表权限任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_ASYNC_TASK=执行数据库变更任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_MULTIPLE_ASYNC_TASK=执行多库变更任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_MOCKDATA_TASK=执行模拟数据任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_IMPORT_TASK=执行导入任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_EXPORT_TASK=执行导出任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_EXPORT_RESULT_SET_TASK=执行导出结果集任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_SHADOWTABLE_SYNC_TASK=执行影子表同步任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_STRUCTURE_COMPARISON_TASK=执行结构比对任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_PARTITION_PLAN_TASK=执行分区计划任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_ALTER_SCHEDULE_TASK=执行修改调度任务 +com.oceanbase.odc.AuditEventAction.EXECUTE_ONLINE_SCHEMA_CHANGE_TASK=执行无锁结构变更任务 +com.oceanbase.odc.AuditEventAction.APPROVE_ASYNC_TASK=同意数据库变更任务 +com.oceanbase.odc.AuditEventAction.APPROVE_MULTIPLE_ASYNC_TASK=同意多库变更任务 +com.oceanbase.odc.AuditEventAction.APPROVE_MOCKDATA_TASK=同意模拟数据任务 +com.oceanbase.odc.AuditEventAction.APPROVE_IMPORT_TASK=同意导入任务 +com.oceanbase.odc.AuditEventAction.APPROVE_EXPORT_TASK=同意导出任务 +com.oceanbase.odc.AuditEventAction.APPROVE_EXPORT_RESULT_SET_TASK=同意导出结果集任务 +com.oceanbase.odc.AuditEventAction.APPROVE_PERMISSION_APPLY_TASK=同意权限申请任务 +com.oceanbase.odc.AuditEventAction.APPROVE_SHADOWTABLE_SYNC_TASK=同意影子表同步任务 +com.oceanbase.odc.AuditEventAction.APPROVE_STRUCTURE_COMPARISON_TASK=同意结构比对任务 +com.oceanbase.odc.AuditEventAction.APPROVE_PARTITION_PLAN_TASK=同意分区计划任务 +com.oceanbase.odc.AuditEventAction.APPROVE_ALTER_SCHEDULE_TASK=同意修改调度任务 +com.oceanbase.odc.AuditEventAction.APPROVE_ONLINE_SCHEMA_CHANGE_TASK=同意无锁结构变更任务 +com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_PROJECT_PERMISSION_TASK=同意申请项目权限任务 +com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_DATABASE_PERMISSION_TASK=同意申请数据库权限任务 +com.oceanbase.odc.AuditEventAction.APPROVE_APPLY_TABLE_PERMISSION_TASK=同意申请数据表权限任务 +com.oceanbase.odc.AuditEventAction.REJECT_ASYNC_TASK=拒绝数据库变更任务 +com.oceanbase.odc.AuditEventAction.REJECT_MULTIPLE_ASYNC_TASK=拒绝多库变更任务 +com.oceanbase.odc.AuditEventAction.REJECT_MOCKDATA_TASK=拒绝模拟数据任务 +com.oceanbase.odc.AuditEventAction.REJECT_IMPORT_TASK=拒绝导入任务 +com.oceanbase.odc.AuditEventAction.REJECT_EXPORT_TASK=拒绝导出任务 +com.oceanbase.odc.AuditEventAction.REJECT_EXPORT_RESULT_SET_TASK=拒绝导出结果集任务 +com.oceanbase.odc.AuditEventAction.REJECT_PERMISSION_APPLY_TASK=拒绝权限申请任务 +com.oceanbase.odc.AuditEventAction.REJECT_SHADOWTABLE_SYNC_TASK=拒绝影子表同步任务 +com.oceanbase.odc.AuditEventAction.REJECT_STRUCTURE_COMPARISON_TASK=拒绝结构比对任务 +com.oceanbase.odc.AuditEventAction.REJECT_PARTITION_PLAN_TASK=拒绝分区计划任务 +com.oceanbase.odc.AuditEventAction.REJECT_ALTER_SCHEDULE_TASK=拒绝修改调度任务 +com.oceanbase.odc.AuditEventAction.REJECT_ONLINE_SCHEMA_CHANGE_TASK=拒绝无锁结构变更任务 +com.oceanbase.odc.AuditEventAction.REJECT_APPLY_PROJECT_PERMISSION_TASK=拒绝申请项目权限任务 +com.oceanbase.odc.AuditEventAction.REJECT_APPLY_DATABASE_PERMISSION_TASK=拒绝申请数据库权限任务 +com.oceanbase.odc.AuditEventAction.REJECT_APPLY_TABLE_PERMISSION_TASK=拒绝申请数据表权限任务 +com.oceanbase.odc.AuditEventAction.CREATE_DATA_MASKING_RULE=创建脱敏规则 +com.oceanbase.odc.AuditEventAction.UPDATE_DATA_MASKING_RULE=更新脱敏规则 +com.oceanbase.odc.AuditEventAction.ENABLE_DATA_MASKING_RULE=启用脱敏规则 +com.oceanbase.odc.AuditEventAction.DISABLE_DATA_MASKING_RULE=禁用脱敏规则 +com.oceanbase.odc.AuditEventAction.CREATE_DATA_MASKING_POLICY=创建脱敏策略 +com.oceanbase.odc.AuditEventAction.UPDATE_DATA_MASKING_POLICY=更新脱敏策略 +com.oceanbase.odc.AuditEventAction.DELETE_DATA_MASKING_POLICY=删除脱敏策略 +com.oceanbase.odc.AuditEventAction.CREATE_INTEGRATION=创建集成 +com.oceanbase.odc.AuditEventAction.ENABLE_INTEGRATION=启用集成 +com.oceanbase.odc.AuditEventAction.DISABLE_INTEGRATION=禁用集成 +com.oceanbase.odc.AuditEventAction.DELETE_INTEGRATION=删除集成 +com.oceanbase.odc.AuditEventAction.ADD_DATABASE=增加数据库 +com.oceanbase.odc.AuditEventAction.DELETE_DATABASE=删除数据库 +com.oceanbase.odc.AuditEventAction.TRANSFER_DATABASE_TO_PROJECT=转移项目 +com.oceanbase.odc.AuditEventAction.CREATE_DATASOURCE=创建数据源 +com.oceanbase.odc.AuditEventAction.DELETE_DATASOURCE=删除数据源 +com.oceanbase.odc.AuditEventAction.UPDATE_DATASOURCE=更新数据源 +com.oceanbase.odc.AuditEventAction.CREATE_PROJECT=创建项目 +com.oceanbase.odc.AuditEventAction.UPDATE_SQL_SECURITY_RULE=修改 SQL 安全规则 +com.oceanbase.odc.AuditEventAction.GRANT_DATABASE_PERMISSION=新增库权限 +com.oceanbase.odc.AuditEventAction.REVOKE_DATABASE_PERMISSION=回收库权限 +com.oceanbase.odc.AuditEventAction.GRANT_TABLE_PERMISSION=新增表权限 +com.oceanbase.odc.AuditEventAction.REVOKE_TABLE_PERMISSION=回收表权限 -com.oceanbase.odc.AuditEventAction.CREATE_ENVIRONMENT=\u521B\u5EFA\u73AF\u5883 -com.oceanbase.odc.AuditEventAction.UPDATE_ENVIRONMENT=\u4FEE\u6539\u73AF\u5883 -com.oceanbase.odc.AuditEventAction.ENABLE_ENVIRONMENT=\u542F\u7528\u73AF\u5883 -com.oceanbase.odc.AuditEventAction.DISABLE_ENVIRONMENT=\u7981\u7528\u73AF\u5883 -com.oceanbase.odc.AuditEventAction.DELETE_ENVIRONMENT=\u5220\u9664\u73AF\u5883 +com.oceanbase.odc.AuditEventAction.CREATE_ENVIRONMENT=创建环境 +com.oceanbase.odc.AuditEventAction.UPDATE_ENVIRONMENT=修改环境 +com.oceanbase.odc.AuditEventAction.ENABLE_ENVIRONMENT=启用环境 +com.oceanbase.odc.AuditEventAction.DISABLE_ENVIRONMENT=禁用环境 +com.oceanbase.odc.AuditEventAction.DELETE_ENVIRONMENT=删除环境 -com.oceanbase.odc.AuditEventAction.CREATE_AUTOMATION_RULE=\u521B\u5EFA\u81EA\u52A8\u6388\u6743\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.ENABLE_AUTOMATION_RULE=\u542F\u7528\u81EA\u52A8\u6388\u6743\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.DISABLE_AUTOMATION_RULE=\u7981\u7528\u81EA\u52A8\u6388\u6743\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.UPDATE_AUTOMATION_RULE=\u4FEE\u6539\u81EA\u52A8\u6388\u6743\u89C4\u5219 -com.oceanbase.odc.AuditEventAction.DELETE_AUTOMATION_RULE=\u5220\u9664\u81EA\u52A8\u6388\u6743\u89C4\u5219 +com.oceanbase.odc.AuditEventAction.CREATE_AUTOMATION_RULE=创建自动授权规则 +com.oceanbase.odc.AuditEventAction.ENABLE_AUTOMATION_RULE=启用自动授权规则 +com.oceanbase.odc.AuditEventAction.DISABLE_AUTOMATION_RULE=禁用自动授权规则 +com.oceanbase.odc.AuditEventAction.UPDATE_AUTOMATION_RULE=修改自动授权规则 +com.oceanbase.odc.AuditEventAction.DELETE_AUTOMATION_RULE=删除自动授权规则 -com.oceanbase.odc.AuditEventAction.CREATE_NOTIFICATION_CHANNEL=\u521B\u5EFA\u63A8\u9001\u901A\u9053 -com.oceanbase.odc.AuditEventAction.UPDATE_NOTIFICATION_CHANNEL=\u4FEE\u6539\u63A8\u9001\u901A\u9053 -com.oceanbase.odc.AuditEventAction.DELETE_NOTIFICATION_CHANNEL=\u5220\u9664\u63A8\u9001\u901A\u9053 -com.oceanbase.odc.AuditEventAction.BATCH_UPDATE_NOTIFICATION_POLICIES=\u66F4\u65B0\u63A8\u9001\u89C4\u5219 +com.oceanbase.odc.AuditEventAction.CREATE_NOTIFICATION_CHANNEL=创建推送通道 +com.oceanbase.odc.AuditEventAction.UPDATE_NOTIFICATION_CHANNEL=修改推送通道 +com.oceanbase.odc.AuditEventAction.DELETE_NOTIFICATION_CHANNEL=删除推送通道 +com.oceanbase.odc.AuditEventAction.BATCH_UPDATE_NOTIFICATION_POLICIES=更新推送规则 -com.oceanbase.odc.AuditEventAction.BATCH_CREATE_SENSITIVE_COLUMNS=\u6279\u91CF\u521B\u5EFA\u654F\u611F\u5217 -com.oceanbase.odc.AuditEventAction.BATCH_UPDATE_SENSITIVE_COLUMNS=\u6279\u91CF\u66F4\u65B0\u654F\u611F\u5217 -com.oceanbase.odc.AuditEventAction.BATCH_DELETE_SENSITIVE_COLUMNS=\u6279\u91CF\u5220\u9664\u654F\u611F\u5217 -com.oceanbase.odc.AuditEventAction.ENABLE_SENSITIVE_COLUMN=\u542F\u7528\u654F\u611F\u5217 -com.oceanbase.odc.AuditEventAction.DISABLE_SENSITIVE_COLUMN=\u7981\u7528\u654F\u611F\u5217 +com.oceanbase.odc.AuditEventAction.BATCH_CREATE_SENSITIVE_COLUMNS=批量创建敏感列 +com.oceanbase.odc.AuditEventAction.BATCH_UPDATE_SENSITIVE_COLUMNS=批量更新敏感列 +com.oceanbase.odc.AuditEventAction.BATCH_DELETE_SENSITIVE_COLUMNS=批量删除敏感列 +com.oceanbase.odc.AuditEventAction.ENABLE_SENSITIVE_COLUMN=启用敏感列 +com.oceanbase.odc.AuditEventAction.DISABLE_SENSITIVE_COLUMN=禁用敏感列 -com.oceanbase.odc.AuditEventAction.CREATE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=\u521B\u5EFA\u6570\u636E\u5E93\u53D8\u66F4\u987A\u5E8F\u6A21\u677F -com.oceanbase.odc.AuditEventAction.UPDATE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=\u66F4\u65B0\u6570\u636E\u5E93\u53D8\u66F4\u987A\u5E8F\u6A21\u677F -com.oceanbase.odc.AuditEventAction.DELETE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=\u5220\u9664\u6570\u636E\u5E93\u53D8\u66F4\u987A\u5E8F\u6A21\u677F +com.oceanbase.odc.AuditEventAction.CREATE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=创建数据库变更顺序模板 +com.oceanbase.odc.AuditEventAction.UPDATE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=更新数据库变更顺序模板 +com.oceanbase.odc.AuditEventAction.DELETE_DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE=删除数据库变更顺序模板 # # AuditEventType # -com.oceanbase.odc.AuditEventType.PERSONAL_CONFIGURATION=\u4E2A\u4EBA\u914D\u7F6E -com.oceanbase.odc.AuditEventType.PASSWORD_MANAGEMENT=\u5BC6\u7801\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.CONNECTION_MANAGEMENT=\u8FDE\u63A5\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.SCRIPT_MANAGEMENT=\u811A\u672C\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.DATABASE_OPERATION=\u6570\u636E\u5E93\u64CD\u4F5C -com.oceanbase.odc.AuditEventType.ORGANIZATION_CONFIGURATION=\u7EC4\u7EC7\u914D\u7F6E -com.oceanbase.odc.AuditEventType.RESOURCE_GROUP_MANAGEMENT=\u8D44\u6E90\u7EC4\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.MEMBER_MANAGEMENT=\u4EBA\u5458\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.AUDIT_EVENT=\u5BA1\u8BA1\u4E8B\u4EF6 -com.oceanbase.odc.AuditEventType.FLOW_CONFIG=\u6D41\u7A0B\u914D\u7F6E -com.oceanbase.odc.AuditEventType.MULTIPLE_ASYNC=\u591A\u5E93\u53D8\u66F4 -com.oceanbase.odc.AuditEventType.ASYNC=\u6570\u636E\u5E93\u53D8\u66F4 -com.oceanbase.odc.AuditEventType.MOCKDATA=\u6A21\u62DF\u6570\u636E -com.oceanbase.odc.AuditEventType.IMPORT=\u5BFC\u5165 -com.oceanbase.odc.AuditEventType.EXPORT=\u5BFC\u51FA -com.oceanbase.odc.AuditEventType.EXPORT_RESULT_SET=\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.AuditEventType.SHADOWTABLE_SYNC=\u5F71\u5B50\u8868\u540C\u6B65 -com.oceanbase.odc.AuditEventType.STRUCTURE_COMPARISON=\u7ED3\u6784\u6BD4\u5BF9 -com.oceanbase.odc.AuditEventType.PARTITION_PLAN=\u5206\u533A\u8BA1\u5212 -com.oceanbase.odc.AuditEventType.ALTER_SCHEDULE=\u4FEE\u6539\u8C03\u5EA6 -com.oceanbase.odc.AuditEventType.ONLINE_SCHEMA_CHANGE=\u65E0\u9501\u7ED3\u6784\u53D8\u66F4 -com.oceanbase.odc.AuditEventType.APPLY_PROJECT_PERMISSION=\u7533\u8BF7\u9879\u76EE\u6743\u9650 -com.oceanbase.odc.AuditEventType.APPLY_DATABASE_PERMISSION=\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650 -com.oceanbase.odc.AuditEventType.APPLY_TABLE_PERMISSION=\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650 -com.oceanbase.odc.AuditEventType.DATA_MASKING_RULE=\u8131\u654F\u89C4\u5219 -com.oceanbase.odc.AuditEventType.DATA_MASKING_POLICY=\u8131\u654F\u7B56\u7565 -com.oceanbase.odc.AuditEventType.PERMISSION_APPLY=\u6743\u9650\u7533\u8BF7 -com.oceanbase.odc.AuditEventType.UNKNOWN_TASK_TYPE=\u672A\u77E5\u4EFB\u52A1\u7C7B\u578B -com.oceanbase.odc.AuditEventType.DATABASE_MANAGEMENT=\u6570\u636E\u5E93\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.DATASOURCE_MANAGEMENT=\u6570\u636E\u6E90\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.PROJECT_MANAGEMENT=\u9879\u76EE\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.SQL_SECURITY_RULE_MANAGEMENT=SQL \u5B89\u5168\u89C4\u5219\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.DATABASE_PERMISSION_MANAGEMENT=\u5E93\u6743\u9650\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.TABLE_PERMISSION_MANAGEMENT=\u8868\u6743\u9650\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.ENVIRONMENT_MANAGEMENT=\u73AF\u5883\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.AUTOMATION_RULE_MANAGEMENT=\u81EA\u52A8\u6388\u6743\u89C4\u5219\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.NOTIFICATION_MANAGEMENT=\u6D88\u606F\u63A8\u9001\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.SENSITIVE_COLUMN_MANAGEMENT=\u654F\u611F\u5217\u7BA1\u7406 -com.oceanbase.odc.AuditEventType.DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE_MANAGEMENT=\u6570\u636E\u5E93\u53D8\u66F4\u987A\u5E8F\u6A21\u677F\u7BA1\u7406 +com.oceanbase.odc.AuditEventType.PERSONAL_CONFIGURATION=个人配置 +com.oceanbase.odc.AuditEventType.PASSWORD_MANAGEMENT=密码管理 +com.oceanbase.odc.AuditEventType.CONNECTION_MANAGEMENT=连接管理 +com.oceanbase.odc.AuditEventType.SCRIPT_MANAGEMENT=脚本管理 +com.oceanbase.odc.AuditEventType.DATABASE_OPERATION=数据库操作 +com.oceanbase.odc.AuditEventType.ORGANIZATION_CONFIGURATION=组织配置 +com.oceanbase.odc.AuditEventType.RESOURCE_GROUP_MANAGEMENT=资源组管理 +com.oceanbase.odc.AuditEventType.MEMBER_MANAGEMENT=人员管理 +com.oceanbase.odc.AuditEventType.AUDIT_EVENT=审计事件 +com.oceanbase.odc.AuditEventType.FLOW_CONFIG=流程配置 +com.oceanbase.odc.AuditEventType.MULTIPLE_ASYNC=多库变更 +com.oceanbase.odc.AuditEventType.ASYNC=数据库变更 +com.oceanbase.odc.AuditEventType.MOCKDATA=模拟数据 +com.oceanbase.odc.AuditEventType.IMPORT=导入 +com.oceanbase.odc.AuditEventType.EXPORT=导出 +com.oceanbase.odc.AuditEventType.EXPORT_RESULT_SET=导出结果集 +com.oceanbase.odc.AuditEventType.SHADOWTABLE_SYNC=影子表同步 +com.oceanbase.odc.AuditEventType.STRUCTURE_COMPARISON=结构比对 +com.oceanbase.odc.AuditEventType.PARTITION_PLAN=分区计划 +com.oceanbase.odc.AuditEventType.ALTER_SCHEDULE=修改调度 +com.oceanbase.odc.AuditEventType.ONLINE_SCHEMA_CHANGE=无锁结构变更 +com.oceanbase.odc.AuditEventType.APPLY_PROJECT_PERMISSION=申请项目权限 +com.oceanbase.odc.AuditEventType.APPLY_DATABASE_PERMISSION=申请数据库权限 +com.oceanbase.odc.AuditEventType.APPLY_TABLE_PERMISSION=申请数据表权限 +com.oceanbase.odc.AuditEventType.DATA_MASKING_RULE=脱敏规则 +com.oceanbase.odc.AuditEventType.DATA_MASKING_POLICY=脱敏策略 +com.oceanbase.odc.AuditEventType.PERMISSION_APPLY=权限申请 +com.oceanbase.odc.AuditEventType.UNKNOWN_TASK_TYPE=未知任务类型 +com.oceanbase.odc.AuditEventType.DATABASE_MANAGEMENT=数据库管理 +com.oceanbase.odc.AuditEventType.DATASOURCE_MANAGEMENT=数据源管理 +com.oceanbase.odc.AuditEventType.PROJECT_MANAGEMENT=项目管理 +com.oceanbase.odc.AuditEventType.SQL_SECURITY_RULE_MANAGEMENT=SQL 安全规则管理 +com.oceanbase.odc.AuditEventType.DATABASE_PERMISSION_MANAGEMENT=库权限管理 +com.oceanbase.odc.AuditEventType.TABLE_PERMISSION_MANAGEMENT=表权限管理 +com.oceanbase.odc.AuditEventType.ENVIRONMENT_MANAGEMENT=环境管理 +com.oceanbase.odc.AuditEventType.AUTOMATION_RULE_MANAGEMENT=自动授权规则管理 +com.oceanbase.odc.AuditEventType.NOTIFICATION_MANAGEMENT=消息推送管理 +com.oceanbase.odc.AuditEventType.SENSITIVE_COLUMN_MANAGEMENT=敏感列管理 +com.oceanbase.odc.AuditEventType.DATABASE_CHANGE_CHANGING_ORDER_TEMPLATE_MANAGEMENT=数据库变更顺序模板管理 # # AuditEventResult result type # -com.oceanbase.odc.AuditEventResult.SUCCESS=\u6210\u529F -com.oceanbase.odc.AuditEventResult.FAILED=\u5931\u8D25 -com.oceanbase.odc.AuditEventResult.UNFINISHED=\u672A\u5B8C\u6210 +com.oceanbase.odc.AuditEventResult.SUCCESS=成功 +com.oceanbase.odc.AuditEventResult.FAILED=失败 +com.oceanbase.odc.AuditEventResult.UNFINISHED=未完成 # # DBObjectType # -com.oceanbase.odc.DBObjectType.SCHEMA=\u6A21\u5F0F -com.oceanbase.odc.DBObjectType.TABLE=\u8868 -com.oceanbase.odc.DBObjectType.COLUMN=\u5217 -com.oceanbase.odc.DBObjectType.INDEX=\u7D22\u5F15 -com.oceanbase.odc.DBObjectType.CONSTRAINT=\u7EA6\u675F -com.oceanbase.odc.DBObjectType.PARTITION=\u5206\u533A -com.oceanbase.odc.DBObjectType.SUBPARTITION=\u4E8C\u7EA7\u5206\u533A -com.oceanbase.odc.DBObjectType.VIEW=\u89C6\u56FE -com.oceanbase.odc.DBObjectType.TRIGGER=\u89E6\u53D1\u5668 -com.oceanbase.odc.DBObjectType.SEQUENCE=\u5E8F\u5217 -com.oceanbase.odc.DBObjectType.PROCEDURE=\u5B58\u50A8\u8FC7\u7A0B -com.oceanbase.odc.DBObjectType.FUNCTION=\u51FD\u6570 -com.oceanbase.odc.DBObjectType.PACKAGE=\u7A0B\u5E8F\u5305 -com.oceanbase.odc.DBObjectType.PACKAGE_BODY=\u7A0B\u5E8F\u5305\u5305\u4F53 -com.oceanbase.odc.DBObjectType.SYNONYM=\u540C\u4E49\u8BCD -com.oceanbase.odc.DBObjectType.TYPE=\u7C7B\u578B +com.oceanbase.odc.DBObjectType.SCHEMA=模式 +com.oceanbase.odc.DBObjectType.TABLE=表 +com.oceanbase.odc.DBObjectType.COLUMN=列 +com.oceanbase.odc.DBObjectType.INDEX=索引 +com.oceanbase.odc.DBObjectType.CONSTRAINT=约束 +com.oceanbase.odc.DBObjectType.PARTITION=分区 +com.oceanbase.odc.DBObjectType.SUBPARTITION=二级分区 +com.oceanbase.odc.DBObjectType.VIEW=视图 +com.oceanbase.odc.DBObjectType.TRIGGER=触发器 +com.oceanbase.odc.DBObjectType.SEQUENCE=序列 +com.oceanbase.odc.DBObjectType.PROCEDURE=存储过程 +com.oceanbase.odc.DBObjectType.FUNCTION=函数 +com.oceanbase.odc.DBObjectType.PACKAGE=程序包 +com.oceanbase.odc.DBObjectType.PACKAGE_BODY=程序包包体 +com.oceanbase.odc.DBObjectType.SYNONYM=同义词 +com.oceanbase.odc.DBObjectType.TYPE=类型 # # DBTableType # -com.oceanbase.odc.DBTableType.LOCAL_TEMPORARY=\u4E34\u65F6\u8868 -com.oceanbase.odc.DBTableType.SYSTEM_TABLE=\u7CFB\u7EDF\u8868 -com.oceanbase.odc.DBTableType.SYSTEM_VIEW=\u7CFB\u7EDF\u89C6\u56FE -com.oceanbase.odc.DBTableType.TABLE=\u8868 -com.oceanbase.odc.DBTableType.VIEW=\u89C6\u56FE +com.oceanbase.odc.DBTableType.LOCAL_TEMPORARY=临时表 +com.oceanbase.odc.DBTableType.SYSTEM_TABLE=系统表 +com.oceanbase.odc.DBTableType.SYSTEM_VIEW=系统视图 +com.oceanbase.odc.DBTableType.TABLE=表 +com.oceanbase.odc.DBTableType.VIEW=视图 com.oceanbase.odc.DBTableType.UNKNOWN=UNKNOWN # # Builtin Resource # -com.oceanbase.odc.builtin-resource.MaskRule.NAME.Name=\u59D3\u540D -com.oceanbase.odc.builtin-resource.MaskRule.ID.Name=\u8EAB\u4EFD\u8BC1\u4EF6\u53F7\u7801 -com.oceanbase.odc.builtin-resource.MaskRule.MOBILE_PHONE.Name=\u624B\u673A\u53F7 -com.oceanbase.odc.builtin-resource.MaskRule.FIXED_PHONE.Name=\u56FA\u5B9A\u7535\u8BDD -com.oceanbase.odc.builtin-resource.MaskRule.BANKCARD.Name=\u94F6\u884C\u5361\u53F7 -com.oceanbase.odc.builtin-resource.MaskRule.MAIL.Name=\u90AE\u7BB1 -com.oceanbase.odc.builtin-resource.MaskRule.DEFAULT.Name=\u7F3A\u7701\u89C4\u5219 -com.oceanbase.odc.builtin-resource.FlowConfig.DATABASE_CHANGE_ALL.Name=\u6570\u636E\u5E93\u53D8\u66F4/\u5168\u90E8\u53D8\u66F4 -com.oceanbase.odc.builtin-resource.FlowConfig.MOCK_DATA.Name=\u6A21\u62DF\u6570\u636E -com.oceanbase.odc.builtin-resource.FlowConfig.EXPORT.Name=\u5BFC\u51FA -com.oceanbase.odc.builtin-resource.FlowConfig.IMPORT.Name=\u5BFC\u5165 -com.oceanbase.odc.builtin-resource.FlowConfig.PERMISSION_APPLY.Name=\u6743\u9650\u7533\u8BF7 -com.oceanbase.odc.builtin-resource.FlowConfig.SHADOWTABLE_SYNC.Name=\u5F71\u5B50\u8868\u540C\u6B65 -com.oceanbase.odc.builtin-resource.FlowConfig.PARTITION_PLAN.Name=\u5206\u533A\u7BA1\u7406 -com.oceanbase.odc.builtin-resource.TriggerEvent.NEW_USER_FROM_OAUTH2.description=\u5F53\u65B0\u7528\u6237\u9996\u6B21\u4ECE OAuth2 \u767B\u5F55\u65F6\u89E6\u53D1 -com.oceanbase.odc.builtin-resource.TriggerEvent.USER_CREATED.description=\u5F53\u65B0\u7528\u6237\u9996\u6B21\u521B\u5EFA\u65F6\u89E6\u53D1 -com.oceanbase.odc.builtin-resource.TriggerEvent.USER_UPDATED.description=\u5F53\u7528\u6237\u66F4\u65B0\u65F6\u89E6\u53D1 -com.oceanbase.odc.builtin-resource.TriggerEvent.LOGIN_SUCCESS.description=\u7528\u6237\u767B\u5F55\u6210\u529F\u65F6\u89E6\u53D1 -com.oceanbase.odc.builtin-resource.iam.organization.team.display-name=\u56E2\u961F\u7A7A\u95F4 -com.oceanbase.odc.builtin-resource.iam.organization.team.description=\u652F\u6301\u591A\u9879\u76EE\u548C\u591A\u6210\u5458\uFF0C\u63D0\u4F9B\u534F\u540C\u7BA1\u63A7\u80FD\u529B\uFF0C\u9002\u5408\u56E2\u961F\u8FDB\u884C\u6570\u636E\u5E93\u5B89\u5168\u53D8\u66F4 -com.oceanbase.odc.builtin-resource.iam.organization.individual.display-name=\u4E2A\u4EBA\u7A7A\u95F4 -com.oceanbase.odc.builtin-resource.iam.organization.individual.description=\u9002\u5408\u4E2A\u4EBA\u5F00\u53D1\u8005\u8FDB\u884C\u6570\u636E\u5E93\u7075\u6D3B\u53D8\u66F4 -com.oceanbase.odc.builtin-resource.FlowConfig.ALTER_SCHEDULE.Name=\u8BA1\u5212\u53D8\u66F4 +com.oceanbase.odc.builtin-resource.MaskRule.NAME.Name=姓名 +com.oceanbase.odc.builtin-resource.MaskRule.ID.Name=身份证件号码 +com.oceanbase.odc.builtin-resource.MaskRule.MOBILE_PHONE.Name=手机号 +com.oceanbase.odc.builtin-resource.MaskRule.FIXED_PHONE.Name=固定电话 +com.oceanbase.odc.builtin-resource.MaskRule.BANKCARD.Name=银行卡号 +com.oceanbase.odc.builtin-resource.MaskRule.MAIL.Name=邮箱 +com.oceanbase.odc.builtin-resource.MaskRule.DEFAULT.Name=缺省规则 +com.oceanbase.odc.builtin-resource.FlowConfig.DATABASE_CHANGE_ALL.Name=数据库变更/全部变更 +com.oceanbase.odc.builtin-resource.FlowConfig.MOCK_DATA.Name=模拟数据 +com.oceanbase.odc.builtin-resource.FlowConfig.EXPORT.Name=导出 +com.oceanbase.odc.builtin-resource.FlowConfig.IMPORT.Name=导入 +com.oceanbase.odc.builtin-resource.FlowConfig.PERMISSION_APPLY.Name=权限申请 +com.oceanbase.odc.builtin-resource.FlowConfig.SHADOWTABLE_SYNC.Name=影子表同步 +com.oceanbase.odc.builtin-resource.FlowConfig.PARTITION_PLAN.Name=分区管理 +com.oceanbase.odc.builtin-resource.TriggerEvent.NEW_USER_FROM_OAUTH2.description=当新用户首次从 OAuth2 登录时触发 +com.oceanbase.odc.builtin-resource.TriggerEvent.USER_CREATED.description=当新用户首次创建时触发 +com.oceanbase.odc.builtin-resource.TriggerEvent.USER_UPDATED.description=当用户更新时触发 +com.oceanbase.odc.builtin-resource.TriggerEvent.LOGIN_SUCCESS.description=用户登录成功时触发 +com.oceanbase.odc.builtin-resource.iam.organization.team.display-name=团队空间 +com.oceanbase.odc.builtin-resource.iam.organization.team.description=支持多项目和多成员,提供协同管控能力,适合团队进行数据库安全变更 +com.oceanbase.odc.builtin-resource.iam.organization.individual.display-name=个人空间 +com.oceanbase.odc.builtin-resource.iam.organization.individual.description=适合个人开发者进行数据库灵活变更 +com.oceanbase.odc.builtin-resource.FlowConfig.ALTER_SCHEDULE.Name=计划变更 # below regulation module built-in -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-default-ruleset.name=\u9ED8\u8BA4\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-dev-ruleset.name=\u9ED8\u8BA4\u5F00\u53D1\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-sit-ruleset.name=\u9ED8\u8BA4\u6D4B\u8BD5\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-prod-ruleset.name=\u9ED8\u8BA4\u751F\u4EA7\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-default-ruleset.description=\u9ED8\u8BA4\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-dev-ruleset.description=\u9ED8\u8BA4\u5F00\u53D1\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-sit-ruleset.description=\u9ED8\u8BA4\u6D4B\u8BD5\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.ruleset.default-prod-ruleset.description=\u9ED8\u8BA4\u751F\u4EA7\u73AF\u5883 SQL \u5F00\u53D1\u89C4\u8303 -com.oceanbase.odc.builtin-resource.collaboration.environment.default.name=\u9ED8\u8BA4 -com.oceanbase.odc.builtin-resource.collaboration.environment.dev.name=\u5F00\u53D1 -com.oceanbase.odc.builtin-resource.collaboration.environment.sit.name=\u6D4B\u8BD5 -com.oceanbase.odc.builtin-resource.collaboration.environment.prod.name=\u751F\u4EA7 -com.oceanbase.odc.builtin-resource.collaboration.environment.default.description=\u9ED8\u8BA4\u73AF\u5883 -com.oceanbase.odc.builtin-resource.collaboration.environment.dev.description=\u5F00\u53D1\u73AF\u5883 -com.oceanbase.odc.builtin-resource.collaboration.environment.sit.description=\u6D4B\u8BD5\u73AF\u5883 -com.oceanbase.odc.builtin-resource.collaboration.environment.prod.description=\u751F\u4EA7\u73AF\u5883 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-default-ruleset.name=默认环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-dev-ruleset.name=默认开发环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-sit-ruleset.name=默认测试环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-prod-ruleset.name=默认生产环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-default-ruleset.description=默认环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-dev-ruleset.description=默认开发环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-sit-ruleset.description=默认测试环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.regulation.ruleset.default-prod-ruleset.description=默认生产环境 SQL 开发规范 +com.oceanbase.odc.builtin-resource.collaboration.environment.default.name=默认 +com.oceanbase.odc.builtin-resource.collaboration.environment.dev.name=开发 +com.oceanbase.odc.builtin-resource.collaboration.environment.sit.name=测试 +com.oceanbase.odc.builtin-resource.collaboration.environment.prod.name=生产 +com.oceanbase.odc.builtin-resource.collaboration.environment.default.description=默认环境 +com.oceanbase.odc.builtin-resource.collaboration.environment.dev.description=开发环境 +com.oceanbase.odc.builtin-resource.collaboration.environment.sit.description=测试环境 +com.oceanbase.odc.builtin-resource.collaboration.environment.prod.description=生产环境 # below built-in regulation sql development rules -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.name=\u7981\u6B62\u7F16\u8F91\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.message=\u7981\u6B62\u7F16\u8F91\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.description=\u7981\u6B62\u7F16\u8F91\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.metadata.name=\u7981\u6B62\u7F16\u8F91\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.metadata.description=\u7981\u6B62\u7F16\u8F91\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.name=\u7981\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.message=\u7981\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.description=\u7981\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.metadata.name=\u7981\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.metadata.description=\u7981\u6B62\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.name=SQL \u7A97\u53E3\u8FD4\u56DE\u7ED3\u679C\u96C6\u6700\u5927\u884C\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.message=SQL \u7A97\u53E3\u8FD4\u56DE\u7ED3\u679C\u96C6\u6700\u5927\u884C\u6570\uFF1A{0} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.description=SQL \u7A97\u53E3\u8FD4\u56DE\u7ED3\u679C\u96C6\u6700\u5927\u884C\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.metadata.name=SQL \u7A97\u53E3\u8FD4\u56DE\u7ED3\u679C\u96C6\u6700\u5927\u884C\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.metadata.description=SQL \u7A97\u53E3\u8FD4\u56DE\u7ED3\u679C\u96C6\u6700\u5927\u884C\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.name=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684 SQL \u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.message=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684 SQL \u7C7B\u578B\uFF1A{0} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.description=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684 SQL \u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.metadata.name=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684 SQL \u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.metadata.description=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684 SQL \u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.name=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684\u6700\u5927 SQL \u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.message=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684\u6700\u5927 SQL \u4E2A\u6570\uFF1A{0} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.description=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684\u6700\u5927 SQL \u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.metadata.name=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684\u6700\u5927 SQL \u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.metadata.description=SQL \u7A97\u53E3\u5141\u8BB8\u6267\u884C\u7684\u6700\u5927 SQL \u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.name=SQL \u7A97\u53E3\u7981\u6B62 PL \u8C03\u8BD5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.message=SQL \u7A97\u53E3\u7981\u6B62 PL \u8C03\u8BD5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.description=PL \u8C03\u8BD5\u4F1A\u6709\u5DE5\u4F5C\u7EBF\u7A0B\u5361\u4F4F\u7684\u98CE\u9669\uFF0C\u6050\u5F71\u54CD\u751F\u4EA7\u7CFB\u7EDF\u7684\u7A33\u5B9A\uFF0C\u4E0D\u5EFA\u8BAE\u542F\u7528 PL \u8C03\u8BD5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.metadata.name=SQL \u7A97\u53E3\u7981\u6B62 PL \u8C03\u8BD5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.metadata.description=SQL \u7A97\u53E3\u7981\u6B62 PL \u8C03\u8BD5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.name=SQL \u7A97\u53E3\u7981\u6B62\u521B\u5EFA PL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.message=SQL \u7A97\u53E3\u7981\u6B62\u521B\u5EFA PL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.description=SQL \u7A97\u53E3\u7981\u6B62\u521B\u5EFA PL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.metadata.name=SQL \u7A97\u53E3\u7981\u6B62\u521B\u5EFA PL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.metadata.description=SQL \u7A97\u53E3\u7981\u6B62\u521B\u5EFA PL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.name=\u5916\u90E8 SQL \u5BA1\u6838\u96C6\u6210 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.message=\u5916\u90E8 SQL \u5BA1\u6838\u96C6\u6210\u7CFB\u7EDF\u62E6\u622A\u4E86\u8BE5 SQL -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.description=\u5916\u90E8 SQL \u5BA1\u6838\u96C6\u6210 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.metadata.name=\u5916\u90E8 SQL \u5BA1\u6838\u96C6\u6210 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.metadata.description=\u5916\u90E8 SQL \u5BA1\u6838\u96C6\u6210 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.name=禁止编辑结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.message=禁止编辑结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.description=禁止编辑结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.metadata.name=禁止编辑结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-edit-resultset.metadata.description=禁止编辑结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.name=禁止导出结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.message=禁止导出结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.description=禁止导出结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.metadata.name=禁止导出结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-export-resultset.metadata.description=禁止导出结果集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.name=SQL 窗口返回结果集最大行数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.message=SQL 窗口返回结果集最大行数:{0} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.description=SQL 窗口返回结果集最大行数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.metadata.name=SQL 窗口返回结果集最大行数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-return-rows.metadata.description=SQL 窗口返回结果集最大行数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.name=SQL 窗口允许执行的 SQL 类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.message=SQL 窗口允许执行的 SQL 类型:{0} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.description=SQL 窗口允许执行的 SQL 类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.metadata.name=SQL 窗口允许执行的 SQL 类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.allow-sql-types.metadata.description=SQL 窗口允许执行的 SQL 类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.name=SQL 窗口允许执行的最大 SQL 个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.message=SQL 窗口允许执行的最大 SQL 个数:{0} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.description=SQL 窗口允许执行的最大 SQL 个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.metadata.name=SQL 窗口允许执行的最大 SQL 个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.max-execute-sqls.metadata.description=SQL 窗口允许执行的最大 SQL 个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.name=SQL 窗口禁止 PL 调试 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.message=SQL 窗口禁止 PL 调试 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.description=PL 调试会有工作线程卡住的风险,恐影响生产系统的稳定,不建议启用 PL 调试 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.metadata.name=SQL 窗口禁止 PL 调试 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-debug-pl.metadata.description=SQL 窗口禁止 PL 调试 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.name=SQL 窗口禁止创建 PL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.message=SQL 窗口禁止创建 PL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.description=SQL 窗口禁止创建 PL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.metadata.name=SQL 窗口禁止创建 PL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.not-allowed-create-pl.metadata.description=SQL 窗口禁止创建 PL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.name=外部 SQL 审核集成 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.message=外部 SQL 审核集成系统拦截了该 SQL +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.description=外部 SQL 审核集成 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.metadata.name=外部 SQL 审核集成 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-console.external-sql-interceptor.metadata.description=外部 SQL 审核集成 # # sql-check # -com.oceanbase.odc.CheckViolation.LocalizedMessage=\u4F4D\u4E8E\u7B2C {0} \u884C\uFF0C\u7B2C {1} \u5217\u7684\u8BED\u53E5\u53EF\u80FD\u5B58\u5728\u95EE\u9898\uFF0C\u8BE6\u60C5\uFF1A{2} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.message=\u8BED\u53E5\u5B58\u5728\u8BED\u6CD5\u9519\u8BEF\uFF0C\u8BE6\u60C5\uFF1A{0} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.name=\u8BED\u6CD5\u9519\u8BEF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.description=\u5F85\u68C0\u6D4B\u7684\u8BED\u53E5\u5B58\u5728\u8BED\u6CD5\u9519\u8BEF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.message=\u5217\u6761\u4EF6\u4E0A\u5B58\u5728\u8BA1\u7B97\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.name=\u5217\u6761\u4EF6\u4E0A\u5B58\u5728\u8BA1\u7B97 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.description=\u5217\u6761\u4EF6\u4E0A\u5B58\u5728\u8BA1\u7B97\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.message=LIKE \u8FD0\u7B97\u5B58\u5728\u5DE6\u6A21\u7CCA\u5339\u914D\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.name=LIKE \u8FD0\u7B97\u5B58\u5728\u5DE6\u6A21\u7CCA\u5339\u914D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.description=LIKE \u8FD0\u7B97\u5B58\u5728\u5DE6\u6A21\u7CCA\u5339\u914D\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.message=\u5217\u6761\u4EF6\u4E0A\u5B58\u5728\u9690\u5F0F\u7C7B\u578B\u8F6C\u6362\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.name=\u9690\u5F0F\u7C7B\u578B\u8F6C\u6362 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.description=\u5217\u6761\u4EF6\u4E0A\u5B58\u5728\u9690\u5F0F\u7C7B\u578B\u8F6C\u6362\uFF0C\u53EF\u80FD\u5BFC\u81F4\u7D22\u5F15\u5931\u6548 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.message=\u8FC7\u591A\u7684 IN \u503C\u5339\u914D\u53EF\u80FD\u5BFC\u81F4\u67E5\u8BE2\u6548\u7387\u964D\u4F4E\uFF0C\u5EFA\u8BAE\u4E0D\u8D85\u8FC7 {0} \u4E2A\uFF0C\u5B9E\u9645\u5B58\u5728 {1} \u4E2A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.name=\u8FC7\u591A\u7684 IN \u503C\u5339\u914D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.description=\u8FC7\u591A\u7684 IN \u503C\u5339\u914D\u53EF\u80FD\u5BFC\u81F4\u67E5\u8BE2\u6548\u7387\u964D\u4F4E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.max-in-expr-count=IN \u6761\u4EF6\u7684\u6570\u91CF\u6700\u5927\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.max-in-expr-count.description=\u6761\u4EF6\u8C13\u8BCD\u4E2D IN \u8FD0\u7B97\u4E2D\u8868\u8FBE\u5F0F\u6570\u91CF\u7684\u6700\u5927\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.message=\u8FC7\u591A\u7684\u8868\u5BF9\u8C61 JOIN\uFF0C\u53EF\u80FD\u5BFC\u81F4\u6267\u884C\u8BA1\u5212\u65E0\u6CD5\u6700\u4F18\uFF0C\u63A8\u8350\u4E0D\u8D85\u8FC7 {0} \u4E2A\uFF0C\u5B9E\u9645 {1} \u4E2A\u8868\u8054\u7ED3 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.name=\u8FC7\u591A\u7684\u8868\u5BF9\u8C61 JOIN -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.description=\u8FC7\u591A\u7684\u8868\u5BF9\u8C61 JOIN\uFF0C\u53EF\u80FD\u5BFC\u81F4\u6267\u884C\u8BA1\u5212\u65E0\u6CD5\u6700\u4F18 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.max-join-table-count=\u6700\u5927\u8868\u8054\u7ED3\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.max-join-table-count.description=\u6700\u5927\u8868\u8054\u7ED3\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.message=NOT IN \u6761\u4EF6\u4E2D\u9700\u8981 NOT NULL \u6807\u8BC6\uFF0C\u907F\u514D\u9677\u5165\u5D4C\u5957\u5FAA\u73AF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.name=NOT IN \u6761\u4EF6\u4E2D\u9700\u8981 NOT NULL \u6807\u8BC6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.description=NOT IN \u6761\u4EF6\u4E2D\u9700\u8981 NOT NULL \u6807\u8BC6\uFF0C\u907F\u514D\u9677\u5165\u5D4C\u5957\u5FAA\u73AF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.message=UPDATE/DELETE \u8BED\u53E5\u4E2D\u7684 WHERE \u6761\u4EF6\u6052\u4E3A\u771F/\u5047\u9020\u6210\u6F5C\u5728\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.name=UPDATE/DELETE \u8BED\u53E5\u4E2D\u6CA1\u6709\u6709\u6548\u7684 WHERE \u6761\u4EF6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.description=UPDATE/DELETE \u8BED\u53E5\u4E2D\u7684 WHERE \u6761\u4EF6\u6052\u4E3A\u771F/\u5047\u9020\u6210\u6F5C\u5728\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.message=UPDATE/DELETE \u8BED\u53E5\u4E2D\u6CA1\u6709 WHERE \u6761\u4EF6\u9020\u6210\u6F5C\u5728\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.name=UPDATE/DELETE \u8BED\u53E5\u4E2D\u6CA1\u6709 WHERE \u6761\u4EF6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.description=UPDATE/DELETE \u8BED\u53E5\u4E2D\u6CA1\u6709 WHERE \u6761\u4EF6\u9020\u6210\u6F5C\u5728\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.message=INSERT/REPLACE \u8BED\u53E5\u4E2D\u6CA1\u6709\u5177\u4F53\u7684\u5217\uFF0C\u53EF\u80FD\u5BFC\u81F4\u9690\u5F0F\u8F6C\u6362\u9519\u8BEF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.name=INSERT/REPLACE \u8BED\u53E5\u672A\u6307\u5B9A\u5217\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.description=INSERT/REPLACE \u8BED\u53E5\u4E2D\u6CA1\u6709\u5177\u4F53\u7684\u5217\uFF0C\u53EF\u80FD\u5BFC\u81F4\u9690\u5F0F\u8F6C\u6362\u9519\u8BEF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.message=\u5BF9\u5E26\u7D22\u5F15\u7684\u8868\u5BF9\u8C61 {0} \u64CD\u4F5C\u6CA1\u6709\u4F7F\u7528\u7D22\u5F15\uFF0C\u53EF\u80FD\u5BFC\u81F4\u5168\u8868\u626B\u63CF\uFF0C\u9020\u6210\u6027\u80FD\u4E0B\u964D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.name=\u6CA1\u6709\u4F7F\u7528\u7D22\u5F15 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.description=\u5BF9\u5E26\u7D22\u5F15\u7684\u8868\u5BF9\u8C61\u64CD\u4F5C\u6CA1\u6709\u4F7F\u7528\u7D22\u5F15\uFF0C\u53EF\u80FD\u5BFC\u81F4\u5168\u8868\u626B\u63CF\uFF0C\u9020\u6210\u6027\u80FD\u4E0B\u964D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.message=\u5BF9\u5206\u533A\u8868 {0} \u64CD\u4F5C\u6CA1\u6709\u4F7F\u7528\u5206\u533A\u952E\uFF0C\u5BFC\u81F4\u65E0\u6CD5\u8FDB\u884C\u5206\u533A\u88C1\u526A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.name=\u6CA1\u6709\u4F7F\u7528\u5206\u533A\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.description=\u5BF9\u5206\u533A\u8868\u64CD\u4F5C\u6CA1\u6709\u4F7F\u7528\u5206\u533A\u952E\uFF0C\u5BFC\u81F4\u65E0\u6CD5\u8FDB\u884C\u5206\u533A\u88C1\u526A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.message=\u8868\u5BF9\u8C61 {0} \u4E0A\u5B58\u5728\u8FC7\u591A\u7D22\u5F15\uFF0C\u53EF\u80FD\u5BFC\u81F4\u6027\u80FD\u4E0B\u964D\uFF0C\u63A8\u8350\u4E0D\u8981\u8D85\u8FC7 {1} \u4E2A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.name=\u5355\u8868\u5305\u542B\u4E86\u8FC7\u591A\u7684\u7D22\u5F15 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.description=\u5355\u8868\u5305\u542B\u4E86\u8FC7\u591A\u7684\u7D22\u5F15\uFF0C\u53EF\u80FD\u5BFC\u81F4\u6027\u80FD\u4E0B\u964D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.max-index-count=\u6700\u5927\u7D22\u5F15\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.max-index-count.description=\u8868\u5B9A\u4E49\u4E2D\u80FD\u591F\u51FA\u73B0\u7684\u7D22\u5F15\u6570\u91CF\u6700\u5927\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.message=\u63A8\u8350\u4F7F\u7528\u5C40\u90E8\u7D22\u5F15 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.name=\u63A8\u8350\u4F7F\u7528\u5C40\u90E8\u7D22\u5F15 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.description=\u63A8\u8350\u4F7F\u7528\u5C40\u90E8\u7D22\u5F15 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.message=\u8868\u5BF9\u8C61 {0} \u5B58\u5728\u8FC7\u591A\u7684\u5217\uFF0C\u63A8\u8350\u4E0D\u8D85\u8FC7 {1} \u4E2A\uFF0C\u5B9E\u9645 {2} \u4E2A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.name=\u5355\u8868\u5305\u542B\u4E86\u8FC7\u591A\u7684\u5217 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.description=\u5355\u8868\u5305\u542B\u4E86\u8FC7\u591A\u7684\u5217 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.max-column-definition-count=\u6700\u5927\u5217\u5B9A\u4E49\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.max-column-definition-count.description=\u8868\u5B9A\u4E49\u4E2D\u80FD\u591F\u51FA\u73B0\u7684\u5217\u6570\u91CF\u7684\u6700\u5927\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.message=\u8868\u5B9A\u4E49\u4E2D CHAR \u7C7B\u578B\u7684\u957F\u5EA6\u8FC7\u957F\uFF0C\u5EFA\u8BAE\u4E0D\u8981\u8D85\u8FC7 {0} \uFF0C\u5B9E\u9645\u503C\u4E3A {1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.name=\u9650\u5236 CHAR \u7C7B\u578B\u5B57\u6BB5\u7684\u957F\u5EA6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.description=CHAR \u7C7B\u578B\u5B57\u6BB5\u7684\u957F\u5EA6\u4E0D\u8981\u592A\u957F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.max-char-length=CHAR \u6700\u5927\u5141\u8BB8\u957F\u5EA6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.max-char-length.description=CHAR \u6700\u5927\u5141\u8BB8\u957F\u5EA6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.message=\u552F\u4E00\u7D22\u5F15\u7684\u547D\u540D {0} \u683C\u5F0F\u4E0D\u7B26\u5408\u89C4\u8303\uFF0C\u547D\u540D\u6A21\u5F0F\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name=\u9650\u5236\u552F\u4E00\u7D22\u5F15\u540D\u683C\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.description=\u552F\u4E00\u7D22\u5F15\u7684\u89C4\u8303\u547D\u540D\u6709\u52A9\u4E8E\u63D0\u9AD8\u6570\u636E\u5E93\u5F00\u53D1\u6548\u7387\uFF0C\u9ED8\u8BA4\uFF1Auk_${table-name}_${column-name-1}_${column-name-2}_... -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name-pattern=\u552F\u4E00\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name-pattern.description=\u552F\u4E00\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.message=\u8868\u4E0D\u80FD\u4F7F\u7528\u5916\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.name=\u8868\u4E0D\u80FD\u4F7F\u7528\u5916\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.description=\u8868\u4E0D\u80FD\u4F7F\u7528\u5916\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.message=\u8868\u8981\u6709\u4E3B\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.name=\u8868\u8981\u6709\u4E3B\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.description=\u8868\u8981\u6709\u4E3B\u952E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.message=\u8868\u5BF9\u8C61 {0} \u5FC5\u987B\u542B\u6709\u6CE8\u91CA -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.name=\u8868\u5FC5\u987B\u6CE8\u91CA -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.description=\u8868\u5BF9\u8C61\u5B58\u5728\u6CE8\u91CA\u53EF\u6709\u52A9\u4E8E\u5FEB\u901F\u4E86\u89E3\u8868\u7684\u4E1A\u52A1\u80CC\u666F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.message=\u8868\u5BF9\u8C61\u4E0D\u80FD\u4EE5 {0} \u547D\u540D\uFF0C\u8BE5\u540D\u5B57\u5904\u4E8E\u9ED1\u540D\u5355\u4E2D\uFF0C\u9ED1\u540D\u5355\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.name=\u8868\u540D\u4E0D\u80FD\u5904\u4E8E\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.description=\u5EFA\u8868\u65F6\u7684\u8868\u540D\uFF0C\u4FEE\u6539\u8868\u540D\u65F6\u5747\u4E0D\u80FD\u4F7F\u7528\u5904\u4E8E\u9ED1\u540D\u5355\u4E2D\u7684\u8868\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.black-list=\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.black-list.description=\u8868\u540D\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.message=\u8868\u5BF9\u8C61\u4F7F\u7528\u7684\u5B57\u7B26\u96C6 {0} \u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u5141\u8BB8\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u5305\u62EC\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.name=\u9650\u5236\u8868\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.description=\u8868\u5BF9\u8C61\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u53EA\u80FD\u4ECE\u767D\u540D\u5355\u4E2D\u7ED9\u51FA\u7684\u9009\u9879\u4E2D\u9009\u62E9 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.allowed-charsets=\u5141\u8BB8\u7684\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.allowed-charsets.description=\u5141\u8BB8\u7684\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.message=\u8868\u5BF9\u8C61\u4F7F\u7528\u7684\u6392\u5E8F\u89C4\u5219 {0} \u4E0D\u5728\u5141\u8BB8\u7684\u8303\u56F4\u5185\u3002\u5141\u8BB8\u7684\u5F52\u7C7B\u5305\u62EC\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.name=\u9650\u5236\u8868\u5BF9\u8C61\u7684\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.description=\u8868\u5BF9\u8C61\u4F7F\u7528\u7684\u6392\u5E8F\u89C4\u5219\u53EA\u80FD\u4ECE\u767D\u540D\u5355\u4E2D\u7ED9\u51FA\u7684\u9009\u9879\u4E2D\u9009\u62E9 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.allowed-collations=\u5141\u8BB8\u7684\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.allowed-collations.description=\u5141\u8BB8\u7684\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.message=\u7D22\u5F15\u4E2D\u5B58\u5728 {0} \u6B21\u5217\u5F15\u7528\uFF0C\u6700\u591A\u4E0D\u5E94\u8D85\u8FC7 {1} \u6B21\u5217\u5F15\u7528 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.name=\u9650\u5236\u5355\u4E2A\u7D22\u5F15\u5305\u542B\u5217\u7684\u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.description=\u5355\u4E2A\u7D22\u5F15\u5B9A\u4E49\u4E2D\u7684\u5217\u5F15\u7528\u6570\u76EE\u4E0D\u5E94\u8FC7\u591A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.max-column-ref-count=\u6700\u5927\u5217\u5F15\u7528\u6570\u76EE -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.max-column-ref-count.description=\u6700\u5927\u5217\u5F15\u7528\u6570\u76EE -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.message=\u4E3B\u952E\u7EA6\u675F\u6D89\u53CA\u5217\u7684\u7C7B\u578B {0} \u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u5141\u8BB8\u7684\u7C7B\u578B\u5305\u62EC\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.name=\u9650\u5236\u4E3B\u952E\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.description=\u8868\u7684\u4E3B\u952E\u6D89\u53CA\u7684\u5217\u5FC5\u987B\u662F\u89C4\u5219\u4E2D\u5B9A\u4E49\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.allowed-datatypes=\u5141\u8BB8\u4F5C\u4E3A\u4E3B\u952E\u7684\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.allowed-datatypes.description=\u5141\u8BB8\u4F5C\u4E3A\u4E3B\u952E\u7684\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.message=\u4E3B\u952E\u4E2D\u5B58\u5728 {0} \u6B21\u5217\u5F15\u7528\uFF0C\u6700\u591A\u4E0D\u5E94\u8D85\u8FC7 {1} \u6B21\u5217\u5F15\u7528 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.name=\u9650\u5236\u5355\u4E2A\u4E3B\u952E\u5305\u542B\u5217\u7684\u4E2A\u6570 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.description=\u5355\u4E2A\u4E3B\u952E\u5B9A\u4E49\u4E2D\u7684\u5217\u5F15\u7528\u6570\u76EE\u4E0D\u5E94\u8FC7\u591A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.max-column-ref-count=\u6700\u5927\u5217\u5F15\u7528\u6570\u76EE -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.max-column-ref-count.description=\u6700\u5927\u5217\u5F15\u7528\u6570\u76EE -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.message=\u9650\u5236\u4E3B\u952E\u5217\u5FC5\u987B\u81EA\u589E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.name=\u9650\u5236\u4E3B\u952E\u5217\u5FC5\u987B\u81EA\u589E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.description=\u9650\u5236\u4E3B\u952E\u5217\u5FC5\u987B\u81EA\u589E -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.message=\u7D22\u5F15\u7684\u547D\u540D {0} \u683C\u5F0F\u4E0D\u7B26\u5408\u89C4\u8303\uFF0C\u547D\u540D\u6A21\u5F0F\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name=\u9650\u5236\u7D22\u5F15\u540D\u683C\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.description=\u7D22\u5F15\u7684\u89C4\u8303\u547D\u540D\u6709\u52A9\u4E8E\u63D0\u9AD8\u6570\u636E\u5E93\u5F00\u53D1\u6548\u7387\uFF0C\u9ED8\u8BA4\uFF1Aidx_${table-name}_${column-name-1}_${column-name-2}_... -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name-pattern=\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name-pattern.description=\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.message=\u7D22\u5F15\u6216\u7EA6\u675F\u7684\u5B9A\u4E49\u6CA1\u6709\u547D\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.name=\u7D22\u5F15\u6216\u7EA6\u675F\u9700\u8981\u8BBE\u7F6E\u540D\u79F0 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.description=\u7D22\u5F15\u6216\u7EA6\u675F\u9700\u8981\u663E\u5F0F\u5B9A\u4E49\u540D\u79F0\uFF0C\u5426\u5219\u6570\u636E\u5E93\u4F1A\u81EA\u52A8\u547D\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.message=\u6570\u503C\u7C7B\u578B\u4F7F\u7528 ZEROFILL \u5C5E\u6027 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.name=\u6570\u503C\u7C7B\u578B\u4E0D\u80FD\u4F7F\u7528 ZEROFILL \u5C5E\u6027 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.description=\u6570\u503C\u7C7B\u578B\u4E0D\u80FD\u4F7F\u7528 ZEROFILL \u5C5E\u6027 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.message=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.name=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.description=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u5B57\u7B26\u96C6 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.message=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.name=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.description=\u4E0D\u80FD\u5BF9\u5217\u8BBE\u7F6E\u6392\u5E8F\u89C4\u5219 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.message=\u7C7B\u578B\u4E3A {0} \u7684\u5217\u4E0D\u5141\u8BB8\u4E3A\u7A7A\uFF0C\u5141\u8BB8\u4E3A\u7A7A\u7684\u5217\u7684\u6570\u636E\u7C7B\u578B\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.name=\u9650\u5236\u5217\u4E0D\u53EF\u7A7A\uFF08NOT NULL) -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.description=\u9650\u5236\u5217\u4E0D\u53EF\u7A7A -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.nullable-datatype-list=\u5141\u8BB8\u4E3A\u7A7A\u7684\u5217\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.nullable-datatype-list.description=\u5141\u8BB8\u4E3A\u7A7A\u7684\u5217\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.message=\u6570\u636E\u7C7B\u578B\u4E3A {0} \u7684\u5217\u4E0D\u80FD\u6CA1\u6709\u9ED8\u8BA4\u503C\uFF0C\u5141\u8BB8\u6CA1\u6709\u9ED8\u8BA4\u503C\u7684\u5217\u7C7B\u578B\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.name=\u5217\u8981\u6709\u9ED8\u8BA4\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.description=\u5217\u8981\u6709\u9ED8\u8BA4\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.no-default-value-datatype-list=\u5141\u8BB8\u6CA1\u6709\u9ED8\u8BA4\u503C\u7684\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.no-default-value-datatype-list.description=\u5141\u8BB8\u6CA1\u6709\u9ED8\u8BA4\u503C\u7684\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.message=\u5217 {0} \u6CA1\u6709\u6CE8\u91CA -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.name=\u5217\u8981\u6709\u6CE8\u91CA -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.description=\u8868\u5B9A\u4E49\u4E2D\u5404\u4E2A\u5217\u9700\u8981\u6709\u6CE8\u91CA -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.message=\u5217\u4E0D\u80FD\u4EE5 {0} \u547D\u540D\uFF0C\u8BE5\u540D\u5B57\u5904\u4E8E\u9ED1\u540D\u5355\u4E2D\uFF0C\u9ED1\u540D\u5355\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.name=\u5217\u540D\u4E0D\u80FD\u5904\u4E8E\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.description=\u5EFA\u8868\u65F6\u7684\u5217\u540D\uFF0C\u4FEE\u6539\u5217\u540D\u65F6\u5747\u4E0D\u80FD\u4F7F\u7528\u5904\u4E8E\u9ED1\u540D\u5355\u4E2D\u7684\u5217\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.black-list=\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.black-list.description=\u5217\u540D\u9ED1\u540D\u5355 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.message=\u5217\u540D {0} \u7684\u5927\u5C0F\u5199\u8BBE\u5B9A\u4E0D\u7B26\u5408\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.name=\u9650\u5236\u5217\u540D\u5927\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.description=\u9650\u5236\u5217\u540D\u5927\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-uppercase=\u662F\u5426\u9650\u5236\u5927\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-uppercase.description=\u662F\u5426\u9650\u5236\u5927\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-lowercase=\u662F\u5426\u9650\u5236\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-lowercase.description=\u662F\u5426\u9650\u5236\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.message=\u8868\u540D {0} \u7684\u5927\u5C0F\u5199\u8BBE\u5B9A\u4E0D\u7B26\u5408\u89C4\u8303 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.name=\u9650\u5236\u8868\u540D\u5927\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.description=\u9650\u5236\u8868\u540D\u5927\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-uppercase=\u662F\u5426\u9650\u5236\u5927\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-uppercase.description=\u662F\u5426\u9650\u5236\u5927\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-lowercase=\u662F\u5426\u9650\u5236\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-lowercase.description=\u662F\u5426\u9650\u5236\u5C0F\u5199 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.message=\u9650\u5236\u8868\u7684\u5217\u81EA\u589E\u521D\u59CB\u503C\u4E3A {0}\uFF0C\u5B9E\u9645\u4E3A {1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.name=\u9650\u5236\u5EFA\u8868\u81EA\u589E\u521D\u59CB\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.description=\u9650\u5236\u5EFA\u8868\u81EA\u589E\u521D\u59CB\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.init-value=\u8868\u81EA\u589E\u521D\u59CB\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.init-value.description=\u8868\u81EA\u589E\u521D\u59CB\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.message=SELECT \u8BED\u53E5\u4E2D\u4E0D\u5EFA\u8BAE\u4F7F\u7528 * \u6295\u5F71\u5168\u90E8\u5217 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.name=SELECT \u8BED\u53E5\u4E0D\u5EFA\u8BAE\u4F7F\u7528 * -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.description=SELECT \u8BED\u53E5\u4E0D\u5EFA\u8BAE\u4F7F\u7528 * -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.message=\u8868\u7F3A\u5C11\u5FC5\u8981\u7684\u5217\uFF1A{0} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.name=\u8868\u7F3A\u5C11\u5FC5\u8981\u7684\u5217 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.description=\u8868\u7F3A\u5C11\u5FC5\u8981\u7684\u5217 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.column-names=\u5217\u540D\u96C6\u5408 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.column-names.description=\u5217\u540D\u96C6\u5408 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.message=\u81EA\u589E\u5217 {0} \u6700\u597D\u4F7F\u7528\u65E0\u7B26\u53F7\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.name=\u9650\u5236\u81EA\u589E\u5217\u4F7F\u7528 UNSIGNED \u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.description=\u65E0\u7B26\u53F7\u7C7B\u578B\u4E0D\u5B58\u50A8\u8D1F\u6570\uFF0C\u540C\u6837\u7684\u7C7B\u578B\u5B58\u653E\u7684\u6570\u503C\u8303\u56F4\u589E\u52A0\u4E00\u500D\uFF0C\u53EF\u4EE5\u907F\u514D\u81EA\u589E\u5217\u8D85\u51FA\u4E0A\u9650 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.message=\u5B58\u5728 {0} \u6761\u5BF9\u540C\u4E00\u4E2A\u8868 {1} \u7684\u4FEE\u6539\u8BED\u53E5\uFF0C\u8D85\u8FC7\u4E86\u6700\u5927\u9650\u5236 {2}\uFF0C\u5EFA\u8BAE\u5408\u5E76\u6210\u4E00\u4E2AALTER\u8BED\u53E5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.name=\u9650\u5236\u540C\u8868\u4E00\u6B21\u6267\u884C\u7684 ALTER \u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.description=\u907F\u514D\u591A\u6B21 table rebuild \u5E26\u6765\u7684\u6D88\u8017\u3001\u4EE5\u53CA\u5BF9\u7EBF\u4E0A\u4E1A\u52A1\u7684\u5F71\u54CD -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.max-alter-count=\u540C\u8868\u5141\u8BB8 ALTER \u7684\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.max-alter-count.description=\u540C\u4E00\u4E2A\u8868\u6700\u591A\u5141\u8BB8 ALTER \u7684\u6570\u91CF -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.message=\u5217\u88AB\u6807\u8BB0\u4E3A NOT NULL \u4F46\u6CA1\u6709\u8BBE\u7F6E\u9ED8\u8BA4\u503C\uFF0C\u53EF\u80FD\u4F1A\u5BFC\u81F4\u63D2\u5165\u62A5\u9519 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.name=\u5B57\u6BB5\u7EA6\u675F\u4E3A NOT NULL \u65F6\u5FC5\u987B\u5E26\u9ED8\u8BA4\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.description=\u5B57\u6BB5\u7EA6\u675F\u4E3A NOT NULL \u65F6\u5FC5\u987B\u5E26\u9ED8\u8BA4\u503C -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.message=\u4E3B\u952E\u7D22\u5F15\u7684\u547D\u540D {0} \u683C\u5F0F\u4E0D\u7B26\u5408\u89C4\u8303\uFF0C\u547D\u540D\u6A21\u5F0F\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name=\u9650\u5236\u4E3B\u952E\u7D22\u5F15\u540D\u683C\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.description=\u4E3B\u952E\u7D22\u5F15\u7684\u89C4\u8303\u547D\u540D\u6709\u52A9\u4E8E\u63D0\u9AD8\u6570\u636E\u5E93\u5F00\u53D1\u6548\u7387\uFF0C\u9ED8\u8BA4\uFF1Apk_${table-name}_${column-name-1}_${column-name-2}_... -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name-pattern=\u4E3B\u952E\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name-pattern.description=\u4E3B\u952E\u7D22\u5F15\u540D\u79F0\u6B63\u5219\u8868\u8FBE\u5F0F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.message=\u6570\u636E\u7C7B\u578B {0} \u7981\u6B62\u4F7F\u7528\uFF0C\u7981\u7528\u7684\u6570\u636E\u7C7B\u578B\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.name=\u7981\u7528\u67D0\u4E9B\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.description=\u7981\u7528\u67D0\u4E9B\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.datatype-names=\u7981\u7528\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.datatype-names.description=\u7981\u7528\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.allowed-datatypes=\u5141\u8BB8\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.allowed-datatypes.description=\u7D22\u5F15\u4E2D\u5141\u8BB8\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.description=\u53EA\u6709\u7279\u5B9A\u6570\u636E\u7C7B\u578B\u7684\u5217\u53EF\u4EE5\u88AB\u7D22\u5F15\u5F15\u7528\uFF0C\u907F\u514D\u9519\u8BEF\u5EFA\u7ACB\u7D22\u5F15\u5BFC\u81F4\u7684\u5927\u91CF\u8D44\u6E90\u5E76\u4EA7\u751F\u4E25\u91CD\u7684\u6027\u80FD\u95EE\u9898 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.message=\u7D22\u5F15\u5F15\u7528\u5217 {0} \u7684\u6570\u636E\u7C7B\u578B\u662F {1}\uFF0C\u8BE5\u7C7B\u578B\u4E0D\u88AB\u5141\u8BB8\u5EFA\u7ACB\u7D22\u5F15\uFF0C\u5141\u8BB8\u7684\u7C7B\u578B\uFF1A{2} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.name=\u9650\u5236\u7D22\u5F15\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.message=\u5BF9\u8C61\u5220\u9664\u8BED\u53E5\u6D89\u53CA\u7684\u6570\u636E\u5E93\u5BF9\u8C61\u7C7B\u578B {0} \u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u5141\u8BB8\u5220\u9664\u7684\u5BF9\u8C61\u7C7B\u578B\u5305\u62EC\uFF1A{1} -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.name=\u9650\u5236\u53EF\u5220\u9664\u7684\u5BF9\u8C61\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.description=\u4E0D\u5141\u8BB8\u5220\u9664\u5141\u8BB8\u8303\u56F4\u4EE5\u5916\u7684\u6570\u636E\u5E93\u5BF9\u8C61 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.allowed-object-types=\u5141\u8BB8\u5220\u9664\u7684\u6570\u636E\u5E93\u5BF9\u8C61\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.allowed-object-types.description=\u5141\u8BB8\u5220\u9664\u7684\u6570\u636E\u5E93\u5BF9\u8C61\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.message=\u4E3B\u952E\u7EA6\u675F/\u7D22\u5F15\u6CA1\u6709\u547D\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.name=\u4E3B\u952E\u7EA6\u675F/\u7D22\u5F15\u9700\u8981\u8BBE\u7F6E\u540D\u79F0 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.description=\u4E3B\u952E\u7EA6\u675F/\u7D22\u5F15\u9700\u8981\u663E\u5F0F\u5B9A\u4E49\u540D\u79F0\uFF0C\u5426\u5219\u6570\u636E\u5E93\u4F1A\u81EA\u52A8\u547D\u540D +com.oceanbase.odc.CheckViolation.LocalizedMessage=位于第 {0} 行,第 {1} 列的语句可能存在问题,详情:{2} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.message=语句存在语法错误,详情:{0} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.name=语法错误 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.syntax-error.description=待检测的语句存在语法错误 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.message=列条件上存在计算,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.name=列条件上存在计算 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-calculation.description=列条件上存在计算,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.message=LIKE 运算存在左模糊匹配,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.name=LIKE 运算存在左模糊匹配 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-fuzzy-match.description=LIKE 运算存在左模糊匹配,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.message=列条件上存在隐式类型转换,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.name=隐式类型转换 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.index-column-implicit-conversion.description=列条件上存在隐式类型转换,可能导致索引失效 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.message=过多的 IN 值匹配可能导致查询效率降低,建议不超过 {0} 个,实际存在 {1} 个 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.name=过多的 IN 值匹配 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.description=过多的 IN 值匹配可能导致查询效率降低 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.max-in-expr-count=IN 条件的数量最大值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-in-expr.max-in-expr-count.description=条件谓词中 IN 运算中表达式数量的最大值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.message=过多的表对象 JOIN,可能导致执行计划无法最优,推荐不超过 {0} 个,实际 {1} 个表联结 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.name=过多的表对象 JOIN +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.description=过多的表对象 JOIN,可能导致执行计划无法最优 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.max-join-table-count=最大表联结数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-table-join.max-join-table-count.description=最大表联结数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.message=NOT IN 条件中需要 NOT NULL 标识,避免陷入嵌套循环 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.name=NOT IN 条件中需要 NOT NULL 标识 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-not-null-exists-not-in.description=NOT IN 条件中需要 NOT NULL 标识,避免陷入嵌套循环 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.message=UPDATE/DELETE 语句中的 WHERE 条件恒为真/假造成潜在风险 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.name=UPDATE/DELETE 语句中没有有效的 WHERE 条件 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-valid-where-clause.description=UPDATE/DELETE 语句中的 WHERE 条件恒为真/假造成潜在风险 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.message=UPDATE/DELETE 语句中没有 WHERE 条件造成潜在风险 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.name=UPDATE/DELETE 语句中没有 WHERE 条件 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-where-clause-exists.description=UPDATE/DELETE 语句中没有 WHERE 条件造成潜在风险 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.message=INSERT/REPLACE 语句中没有具体的列,可能导致隐式转换错误 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.name=INSERT/REPLACE 语句未指定列名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-specific-column-exists.description=INSERT/REPLACE 语句中没有具体的列,可能导致隐式转换错误 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.message=对带索引的表对象 {0} 操作没有使用索引,可能导致全表扫描,造成性能下降 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.name=没有使用索引 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-key-exists.description=对带索引的表对象操作没有使用索引,可能导致全表扫描,造成性能下降 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.message=对分区表 {0} 操作没有使用分区键,导致无法进行分区裁剪 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.name=没有使用分区键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-partition-key-exists.description=对分区表操作没有使用分区键,导致无法进行分区裁剪 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.message=表对象 {0} 上存在过多索引,可能导致性能下降,推荐不要超过 {1} 个 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.name=单表包含了过多的索引 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.description=单表包含了过多的索引,可能导致性能下降 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.max-index-count=最大索引数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-index-keys.max-index-count.description=表定义中能够出现的索引数量最大值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.message=推荐使用局部索引 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.name=推荐使用局部索引 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prefer-local-index.description=推荐使用局部索引 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.message=表对象 {0} 存在过多的列,推荐不超过 {1} 个,实际 {2} 个 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.name=单表包含了过多的列 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.description=单表包含了过多的列 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.max-column-definition-count=最大列定义数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-columns.max-column-definition-count.description=表定义中能够出现的列数量的最大值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.message=表定义中 CHAR 类型的长度过长,建议不要超过 {0} ,实际值为 {1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.name=限制 CHAR 类型字段的长度 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.description=CHAR 类型字段的长度不要太长 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.max-char-length=CHAR 最大允许长度 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-long-char-length.max-char-length.description=CHAR 最大允许长度 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.message=唯一索引的命名 {0} 格式不符合规范,命名模式:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name=限制唯一索引名格式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.description=唯一索引的规范命名有助于提高数据库开发效率,默认:uk_${table-name}_${column-name-1}_${column-name-2}_... +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name-pattern=唯一索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-unique-index-naming.name-pattern.description=唯一索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.message=表不能使用外键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.name=表不能使用外键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.foreign-constraint-exists.description=表不能使用外键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.message=表要有主键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.name=表要有主键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-exists.description=表要有主键 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.message=表对象 {0} 必须含有注释 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.name=表必须注释 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-table-comment-exists.description=表对象存在注释可有助于快速了解表的业务背景 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.message=表对象不能以 {0} 命名,该名字处于黑名单中,黑名单:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.name=表名不能处于黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.description=建表时的表名,修改表名时均不能使用处于黑名单中的表名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.black-list=黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.table-name-in-black-list.black-list.description=表名黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.message=表对象使用的字符集 {0} 不在允许范围内,允许使用的字符集包括:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.name=限制表字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.description=表对象使用的字符集只能从白名单中给出的选项中选择 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.allowed-charsets=允许的字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-charset.allowed-charsets.description=允许的字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.message=表对象使用的排序规则 {0} 不在允许的范围内。允许的归类包括:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.name=限制表对象的排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.description=表对象使用的排序规则只能从白名单中给出的选项中选择 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.allowed-collations=允许的排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-collation.allowed-collations.description=允许的排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.message=索引中存在 {0} 次列引用,最多不应超过 {1} 次列引用 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.name=限制单个索引包含列的个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.description=单个索引定义中的列引用数目不应过多 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.max-column-ref-count=最大列引用数目 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-index.max-column-ref-count.description=最大列引用数目 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.message=主键约束涉及列的类型 {0} 不在允许范围内,允许的类型包括:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.name=限制主键数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.description=表的主键涉及的列必须是规则中定义的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.allowed-datatypes=允许作为主键的类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-datatypes.allowed-datatypes.description=允许作为主键的类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.message=主键中存在 {0} 次列引用,最多不应超过 {1} 次列引用 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.name=限制单个主键包含列的个数 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.description=单个主键定义中的列引用数目不应过多 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.max-column-ref-count=最大列引用数目 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-column-refs-in-primary-key.max-column-ref-count.description=最大列引用数目 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.message=限制主键列必须自增 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.name=限制主键列必须自增 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-auto-increment.description=限制主键列必须自增 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.message=索引的命名 {0} 格式不符合规范,命名模式:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name=限制索引名格式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.description=索引的规范命名有助于提高数据库开发效率,默认:idx_${table-name}_${column-name-1}_${column-name-2}_... +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name-pattern=索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-naming.name-pattern.description=索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.message=索引或约束的定义没有命名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.name=索引或约束需要设置名称 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-index-name-exists.description=索引或约束需要显式定义名称,否则数据库会自动命名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.message=数值类型使用 ZEROFILL 属性 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.name=数值类型不能使用 ZEROFILL 属性 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.zerofill-exists.description=数值类型不能使用 ZEROFILL 属性 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.message=不能对列设置字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.name=不能对列设置字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-charset-exists.description=不能对列设置字符集 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.message=不能对列设置排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.name=不能对列设置排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-collation-exists.description=不能对列设置排序规则 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.message=类型为 {0} 的列不允许为空,允许为空的列的数据类型:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.name=限制列不可空(NOT NULL) +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.description=限制列不可空 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.nullable-datatype-list=允许为空的列数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-is-nullable.nullable-datatype-list.description=允许为空的列数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.message=数据类型为 {0} 的列不能没有默认值,允许没有默认值的列类型:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.name=列要有默认值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.description=列要有默认值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.no-default-value-datatype-list=允许没有默认值的类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-default-value-exists.no-default-value-datatype-list.description=允许没有默认值的类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.message=列 {0} 没有注释 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.name=列要有注释 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-column-comment-exists.description=表定义中各个列需要有注释 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.message=列不能以 {0} 命名,该名字处于黑名单中,黑名单:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.name=列名不能处于黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.description=建表时的列名,修改列名时均不能使用处于黑名单中的列名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.black-list=黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.column-name-in-black-list.black-list.description=列名黑名单 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.message=列名 {0} 的大小写设定不符合规范 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.name=限制列名大小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.description=限制列名大小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-uppercase=是否限制大写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-uppercase.description=是否限制大写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-lowercase=是否限制小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-column-name-case.is-lowercase.description=是否限制小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.message=表名 {0} 的大小写设定不符合规范 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.name=限制表名大小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.description=限制表名大小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-uppercase=是否限制大写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-uppercase.description=是否限制大写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-lowercase=是否限制小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-name-case.is-lowercase.description=是否限制小写 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.message=限制表的列自增初始值为 {0},实际为 {1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.name=限制建表自增初始值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.description=限制建表自增初始值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.init-value=表自增初始值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-table-auto-increment.init-value.description=表自增初始值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.message=SELECT 语句中不建议使用 * 投影全部列 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.name=SELECT 语句不建议使用 * +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.select-star-exists.description=SELECT 语句不建议使用 * +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.message=表缺少必要的列:{0} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.name=表缺少必要的列 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.description=表缺少必要的列 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.column-names=列名集合 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.missing-required-columns.column-names.description=列名集合 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.message=自增列 {0} 最好使用无符号类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.name=限制自增列使用 UNSIGNED 类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-unsigned.description=无符号类型不存储负数,同样的类型存放的数值范围增加一倍,可以避免自增列超出上限 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.message=存在 {0} 条对同一个表 {1} 的修改语句,超过了最大限制 {2},建议合并成一个ALTER语句 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.name=限制同表一次执行的 ALTER 数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.description=避免多次 table rebuild 带来的消耗、以及对线上业务的影响 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.max-alter-count=同表允许 ALTER 的数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.too-many-alter-statement.max-alter-count.description=同一个表最多允许 ALTER 的数量 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.message=列被标记为 NOT NULL 但没有设置默认值,可能会导致插入报错 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.name=字段约束为 NOT NULL 时必须带默认值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.not-null-column-without-default-value.description=字段约束为 NOT NULL 时必须带默认值 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.message=主键索引的命名 {0} 格式不符合规范,命名模式:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name=限制主键索引名格式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.description=主键索引的规范命名有助于提高数据库开发效率,默认:pk_${table-name}_${column-name-1}_${column-name-2}_... +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name-pattern=主键索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-pk-naming.name-pattern.description=主键索引名称正则表达式 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.message=数据类型 {0} 禁止使用,禁用的数据类型:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.name=禁用某些数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.description=禁用某些数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.datatype-names=禁用的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.prohibited-datatype-exists.datatype-names.description=禁用的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.allowed-datatypes=允许的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.allowed-datatypes.description=索引中允许的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.description=只有特定数据类型的列可以被索引引用,避免错误建立索引导致的大量资源并产生严重的性能问题 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.message=索引引用列 {0} 的数据类型是 {1},该类型不被允许建立索引,允许的类型:{2} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-index-datatypes.name=限制索引数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.message=对象删除语句涉及的数据库对象类型 {0} 不在允许范围内,允许删除的对象类型包括:{1} +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.name=限制可删除的对象类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.description=不允许删除允许范围以外的数据库对象 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.allowed-object-types=允许删除的数据库对象类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-drop-object-types.allowed-object-types.description=允许删除的数据库对象类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.message=主键约束/索引没有命名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.name=主键约束/索引需要设置名称 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.no-primary-key-name-exists.description=主键约束/索引需要显式定义名称,否则数据库会自动命名 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.message=\u5217 {0} \u88AB\u6807\u8BB0\u4E3A\u81EA\u589E\u5217\uFF0C\u8BE5\u5217\u7684\u7C7B\u578B\u4E3A {1}\uFF0C\u4E0D\u5728\u5141\u8BB8\u7684\u7C7B\u578B\u8303\u56F4\u5185\uFF1A{2}\uFF0C\u8FD9\u53EF\u80FD\u4F1A\u5BFC\u81F4\u6570\u503C\u6EA2\u51FA\u7B49\u975E\u9884\u671F\u60C5\u51B5\u7684\u53D1\u751F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.name=\u9650\u5236\u81EA\u589E\u5217\u7684\u53EF\u9009\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.description=\u88AB\u6807\u8BB0\u4E3A\u81EA\u589E\u7684\u5217\u5E94\u8BE5\u8C28\u614E\u9009\u62E9\u6570\u636E\u7C7B\u578B\uFF0C\u907F\u514D\u6570\u503C\u6EA2\u51FA\u7B49\u9884\u671F\u5916\u60C5\u51B5\u7684\u53D1\u751F -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.allowed-datatypes=\u5141\u8BB8\u7684\u6570\u636E\u7C7B\u578B -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.allowed-datatypes.description=\u5141\u8BB8\u88AB\u6807\u8BB0\u4E3A\u81EA\u589E\u7684\u5217\u7684\u6570\u636E\u7C7B\u578B\u96C6\u5408 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.message=列 {0} 被标记为自增列,该列的类型为 {1},不在允许的类型范围内:{2},这可能会导致数值溢出等非预期情况的发生 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.name=限制自增列的可选数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.description=被标记为自增的列应该谨慎选择数据类型,避免数值溢出等预期外情况的发生 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.allowed-datatypes=允许的数据类型 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.restrict-auto-increment-datatypes.allowed-datatypes.description=允许被标记为自增的列的数据类型集合 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.message={0} \u662F\u4FDD\u7559\u5B57\uFF0C\u4E0D\u5E94\u8BE5\u4EE5\u6B64\u4F5C\u4E3A\u5BF9\u8C61\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.name=\u4FDD\u7559\u5B57\u4E0D\u5E94\u8BE5\u4F5C\u4E3A\u5BF9\u8C61\u540D -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.description=\u4FDD\u7559\u5B57\u4E0D\u5E94\u8BE5\u4F5C\u4E3A\u5BF9\u8C61\u540D +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.message={0} 是保留字,不应该以此作为对象名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.name=保留字不应该作为对象名 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.object-name-using-reserved-words.description=保留字不应该作为对象名 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.message={0} \u662F offline \u7ED3\u6784\u53D8\u66F4\u8BED\u53E5\uFF0C\u53EF\u80FD\u8017\u65F6\u8F83\u4E45\uFF0C\u5EFA\u8BAE\u4F7F\u7528\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u6267\u884C\u8BE5\u8BED\u53E5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.name=offline \u7ED3\u6784\u53D8\u66F4\u8BED\u53E5\u5B58\u5728 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.description=offline \u7ED3\u6784\u53D8\u66F4\u8BED\u53E5\u53EF\u80FD\u6D89\u53CA\u5168\u91CF\u6570\u636E\u4FEE\u6539\uFF0C\u4F1A\u9020\u6210\u6BD4\u8F83\u4E45\u8017\u65F6\uFF0C\u53EF\u80FD\u4F1A\u5F71\u54CD\u5230\u7EBF\u4E0A\u4E1A\u52A1\uFF0C\u63A8\u8350\u4F7F\u7528\u65E0\u9501\u7ED3\u6784\u53D8\u66F4\u6267\u884C\u8BE5\u64CD\u4F5C +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.message={0} 是 offline 结构变更语句,可能耗时较久,建议使用无锁结构变更执行该语句 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.name=offline 结构变更语句存在 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.offline-schema-change-exists.description=offline 结构变更语句可能涉及全量数据修改,会造成比较久耗时,可能会影响到线上业务,推荐使用无锁结构变更执行该操作 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.message=truncate \u8BED\u53E5\u5C06\u4F1A\u6E05\u7A7A\u8868\u7684\u6570\u636E\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.name=\u5B58\u5728 truncate \u8BED\u53E5 -com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.description=truncate \u8BED\u53E5\u5C06\u4F1A\u6E05\u7A7A\u8868\u6570\u636E\uFF0C\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u5341\u5206\u5371\u9669\uFF0C\u8BF7\u8C28\u614E\u4F7F\u7528 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.message=truncate 语句将会清空表的数据,请谨慎使用 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.name=存在 truncate 语句 +com.oceanbase.odc.builtin-resource.regulation.rule.sql-check.truncate-table-exists.description=truncate 语句将会清空表数据,在生产环境中十分危险,请谨慎使用 # below masking algorithm built-in -com.oceanbase.odc.builtin-resource.masking-algorithm.mask-all.name=\u5168\u90E8\u906E\u63A9\uFF08\u7CFB\u7EDF\u9ED8\u8BA4\uFF09 -com.oceanbase.odc.builtin-resource.masking-algorithm.personal-name-chinese.name=\u4E2A\u4EBA\u59D3\u540D\uFF08\u6C49\u5B57\u7C7B\u578B\uFF09 -com.oceanbase.odc.builtin-resource.masking-algorithm.personal-name-alphabet.name=\u4E2A\u4EBA\u59D3\u540D\uFF08\u5B57\u6BCD\u7C7B\u578B\uFF09 -com.oceanbase.odc.builtin-resource.masking-algorithm.nickname.name=\u6635\u79F0 -com.oceanbase.odc.builtin-resource.masking-algorithm.email.name=\u90AE\u7BB1 -com.oceanbase.odc.builtin-resource.masking-algorithm.address.name=\u5730\u5740 -com.oceanbase.odc.builtin-resource.masking-algorithm.phone-number.name=\u624B\u673A\u53F7\u7801 -com.oceanbase.odc.builtin-resource.masking-algorithm.fixed-line-phone-number.name=\u56FA\u5B9A\u7535\u8BDD -com.oceanbase.odc.builtin-resource.masking-algorithm.certificate-number.name=\u8BC1\u4EF6\u53F7\u7801 -com.oceanbase.odc.builtin-resource.masking-algorithm.bank-card-number.name=\u94F6\u884C\u5361\u53F7 -com.oceanbase.odc.builtin-resource.masking-algorithm.license-plate-number.name=\u8F66\u724C\u53F7 -com.oceanbase.odc.builtin-resource.masking-algorithm.device-id.name=\u8BBE\u5907\u552F\u4E00\u8BC6\u522B\u53F7 -com.oceanbase.odc.builtin-resource.masking-algorithm.ip.name=IP \u5730\u5740 -com.oceanbase.odc.builtin-resource.masking-algorithm.mac.name=MAC \u5730\u5740 +com.oceanbase.odc.builtin-resource.masking-algorithm.mask-all.name=全部遮掩(系统默认) +com.oceanbase.odc.builtin-resource.masking-algorithm.personal-name-chinese.name=个人姓名(汉字类型) +com.oceanbase.odc.builtin-resource.masking-algorithm.personal-name-alphabet.name=个人姓名(字母类型) +com.oceanbase.odc.builtin-resource.masking-algorithm.nickname.name=昵称 +com.oceanbase.odc.builtin-resource.masking-algorithm.email.name=邮箱 +com.oceanbase.odc.builtin-resource.masking-algorithm.address.name=地址 +com.oceanbase.odc.builtin-resource.masking-algorithm.phone-number.name=手机号码 +com.oceanbase.odc.builtin-resource.masking-algorithm.fixed-line-phone-number.name=固定电话 +com.oceanbase.odc.builtin-resource.masking-algorithm.certificate-number.name=证件号码 +com.oceanbase.odc.builtin-resource.masking-algorithm.bank-card-number.name=银行卡号 +com.oceanbase.odc.builtin-resource.masking-algorithm.license-plate-number.name=车牌号 +com.oceanbase.odc.builtin-resource.masking-algorithm.device-id.name=设备唯一识别号 +com.oceanbase.odc.builtin-resource.masking-algorithm.ip.name=IP 地址 +com.oceanbase.odc.builtin-resource.masking-algorithm.mac.name=MAC 地址 com.oceanbase.odc.builtin-resource.masking-algorithm.md5.name=MD5 com.oceanbase.odc.builtin-resource.masking-algorithm.sha256.name=SHA256 com.oceanbase.odc.builtin-resource.masking-algorithm.sha512.name=SHA512 com.oceanbase.odc.builtin-resource.masking-algorithm.sm3.name=SM3 -com.oceanbase.odc.builtin-resource.masking-algorithm.round.name=\u6570\u503C\u53D6\u6574 -com.oceanbase.odc.builtin-resource.masking-algorithm.null.name=\u7F6E\u7A7A -com.oceanbase.odc.builtin-resource.masking-algorithm.default.name=\u7F3A\u7701\u89C4\u5219 +com.oceanbase.odc.builtin-resource.masking-algorithm.round.name=数值取整 +com.oceanbase.odc.builtin-resource.masking-algorithm.null.name=置空 +com.oceanbase.odc.builtin-resource.masking-algorithm.default.name=缺省规则 # # builtin approval flow config # -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.auto-approval.name=\u81EA\u52A8\u5BA1\u6279 -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.auto-approval.description=\u81EA\u52A8\u5BA1\u6279 -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner.name=\u9879\u76EE\u7BA1\u7406\u5458 -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner.description=\u9879\u76EE\u7BA1\u7406\u5458 -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-dba.name=\u9879\u76EE DBA -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-dba.description=\u9879\u76EE DBA -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner-dba.name=\u9879\u76EE\u7BA1\u7406\u5458 --> \u9879\u76EE DBA -com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner-dba.description=\u9879\u76EE\u7BA1\u7406\u5458 --> \u9879\u76EE DBA -com.oceanbase.odc.builtin-resource.regulation.risklevel.default-risk.name=\u9ED8\u8BA4\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.default-risk.description=\u9ED8\u8BA4\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.low-risk.name=\u4F4E\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.low-risk.description=\u4F4E\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.moderate-risk.name=\u4E2D\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.moderate-risk.description=\u4E2D\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.high-risk.name=\u9AD8\u98CE\u9669 -com.oceanbase.odc.builtin-resource.regulation.risklevel.high-risk.description=\u9AD8\u98CE\u9669 +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.auto-approval.name=自动审批 +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.auto-approval.description=自动审批 +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner.name=项目管理员 +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner.description=项目管理员 +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-dba.name=项目 DBA +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-dba.description=项目 DBA +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner-dba.name=项目管理员 --> 项目 DBA +com.oceanbase.odc.builtin-resource.regulation.approval.flow.config.project-owner-dba.description=项目管理员 --> 项目 DBA +com.oceanbase.odc.builtin-resource.regulation.risklevel.default-risk.name=默认风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.default-risk.description=默认风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.low-risk.name=低风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.low-risk.description=低风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.moderate-risk.name=中风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.moderate-risk.description=中风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.high-risk.name=高风险 +com.oceanbase.odc.builtin-resource.regulation.risklevel.high-risk.description=高风险 # # OBInstanceType # -com.oceanbase.odc.OBInstanceType.CLUSTER=\u96C6\u7FA4\u5B9E\u4F8B -com.oceanbase.odc.OBInstanceType.MYSQL_TENANT=MySQL \u79DF\u6237\u5B9E\u4F8B -com.oceanbase.odc.OBInstanceType.ORACLE_TENANT=Oracle \u79DF\u6237\u5B9E\u4F8B +com.oceanbase.odc.OBInstanceType.CLUSTER=集群实例 +com.oceanbase.odc.OBInstanceType.MYSQL_TENANT=MySQL 租户实例 +com.oceanbase.odc.OBInstanceType.ORACLE_TENANT=Oracle 租户实例 # # TaskType # -com.oceanbase.odc.TaskType.MULTIPLE_ASYNC=\u591A\u5E93\u53D8\u66F4 -com.oceanbase.odc.TaskType.ASYNC=\u6570\u636E\u5E93\u53D8\u66F4 -com.oceanbase.odc.TaskType.IMPORT=\u5BFC\u5165 -com.oceanbase.odc.TaskType.EXPORT=\u5BFC\u51FA -com.oceanbase.odc.TaskType.MOCKDATA=\u6A21\u62DF\u6570\u636E -com.oceanbase.odc.TaskType.ROLLBACK=\u56DE\u6EDA\u4EFB\u52A1 -com.oceanbase.odc.TaskType.PERMISSION_APPLY=\u6743\u9650\u7533\u8BF7 -com.oceanbase.odc.TaskType.SHADOWTABLE_SYNC=\u5F71\u5B50\u8868\u540C\u6B65 -com.oceanbase.odc.TaskType.PARTITION_PLAN=\u5206\u533A\u8BA1\u5212 -com.oceanbase.odc.TaskType.SQL_CHECK=SQL \u68C0\u67E5 -com.oceanbase.odc.TaskType.ALTER_SCHEDULE=\u8BA1\u5212\u53D8\u66F4 -com.oceanbase.odc.TaskType.ONLINE_SCHEMA_CHANGE=\u65E0\u9501\u7ED3\u6784\u53D8\u66F4 -com.oceanbase.odc.TaskType.GENERATE_ROLLBACK=\u5907\u4EFD\u56DE\u6EDA\u65B9\u6848\u751F\u6210 -com.oceanbase.odc.TaskType.PRE_CHECK=\u9884\u68C0\u67E5 -com.oceanbase.odc.TaskType.EXPORT_RESULT_SET=\u5BFC\u51FA\u7ED3\u679C\u96C6 -com.oceanbase.odc.TaskType.APPLY_PROJECT_PERMISSION=\u7533\u8BF7\u9879\u76EE\u6743\u9650 -com.oceanbase.odc.TaskType.APPLY_DATABASE_PERMISSION=\u7533\u8BF7\u6570\u636E\u5E93\u6743\u9650 -com.oceanbase.odc.TaskType.APPLY_TABLE_PERMISSION=\u7533\u8BF7\u6570\u636E\u8868\u6743\u9650 -com.oceanbase.odc.TaskType.SQL_PLAN=SQL \u8BA1\u5212 -com.oceanbase.odc.TaskType.DATA_ARCHIVE=\u6570\u636E\u5F52\u6863 -com.oceanbase.odc.TaskType.DATA_DELETE=\u6570\u636E\u6E05\u7406 -com.oceanbase.odc.TaskType.STRUCTURE_COMPARISON=\u7ED3\u6784\u5BF9\u6BD4 +com.oceanbase.odc.TaskType.MULTIPLE_ASYNC=多库变更 +com.oceanbase.odc.TaskType.ASYNC=数据库变更 +com.oceanbase.odc.TaskType.IMPORT=导入 +com.oceanbase.odc.TaskType.EXPORT=导出 +com.oceanbase.odc.TaskType.MOCKDATA=模拟数据 +com.oceanbase.odc.TaskType.ROLLBACK=回滚任务 +com.oceanbase.odc.TaskType.PERMISSION_APPLY=权限申请 +com.oceanbase.odc.TaskType.SHADOWTABLE_SYNC=影子表同步 +com.oceanbase.odc.TaskType.PARTITION_PLAN=分区计划 +com.oceanbase.odc.TaskType.SQL_CHECK=SQL 检查 +com.oceanbase.odc.TaskType.ALTER_SCHEDULE=计划变更 +com.oceanbase.odc.TaskType.ONLINE_SCHEMA_CHANGE=无锁结构变更 +com.oceanbase.odc.TaskType.GENERATE_ROLLBACK=备份回滚方案生成 +com.oceanbase.odc.TaskType.PRE_CHECK=预检查 +com.oceanbase.odc.TaskType.EXPORT_RESULT_SET=导出结果集 +com.oceanbase.odc.TaskType.APPLY_PROJECT_PERMISSION=申请项目权限 +com.oceanbase.odc.TaskType.APPLY_DATABASE_PERMISSION=申请数据库权限 +com.oceanbase.odc.TaskType.APPLY_TABLE_PERMISSION=申请数据表权限 +com.oceanbase.odc.TaskType.SQL_PLAN=SQL 计划 +com.oceanbase.odc.TaskType.DATA_ARCHIVE=数据归档 +com.oceanbase.odc.TaskType.DATA_DELETE=数据清理 +com.oceanbase.odc.TaskType.STRUCTURE_COMPARISON=结构对比 # # Notification event name # -com.oceanbase.odc.event.ALL_EVENTS.name=\u6240\u6709\u4E8B\u4EF6 -com.oceanbase.odc.event.TASK.EXECUTION_SUCCEEDED.name=\u6267\u884C\u6210\u529F -com.oceanbase.odc.event.TASK.EXECUTION_FAILED.name=\u6267\u884C\u5931\u8D25 -com.oceanbase.odc.event.TASK.EXECUTION_TIMEOUT.name=\u6267\u884C\u8D85\u65F6 -com.oceanbase.odc.event.TASK.PENDING_APPROVAL.name=\u5F85\u5BA1\u6279 -com.oceanbase.odc.event.TASK.APPROVED.name=\u5BA1\u6279\u901A\u8FC7 -com.oceanbase.odc.event.TASK.APPROVAL_REJECTION.name=\u5BA1\u6279\u62D2\u7EDD -com.oceanbase.odc.event.TASK.SCHEDULING_FAILED.name=\u8C03\u5EA6\u5931\u8D25 -com.oceanbase.odc.event.TASK.SCHEDULING_TIMEOUT.name=\u8C03\u5EA6\u8D85\u65F6 +com.oceanbase.odc.event.ALL_EVENTS.name=所有事件 +com.oceanbase.odc.event.TASK.EXECUTION_SUCCEEDED.name=执行成功 +com.oceanbase.odc.event.TASK.EXECUTION_FAILED.name=执行失败 +com.oceanbase.odc.event.TASK.EXECUTION_TIMEOUT.name=执行超时 +com.oceanbase.odc.event.TASK.PENDING_APPROVAL.name=待审批 +com.oceanbase.odc.event.TASK.APPROVED.name=审批通过 +com.oceanbase.odc.event.TASK.APPROVAL_REJECTION.name=审批拒绝 +com.oceanbase.odc.event.TASK.SCHEDULING_FAILED.name=调度失败 +com.oceanbase.odc.event.TASK.SCHEDULING_TIMEOUT.name=调度超时 # # Notification channel test message # -com.oceanbase.odc.notification.channel-test-message=\u3010ODC\u3011\u6D88\u606F\u901A\u9053\u9A8C\u8BC1\u6210\u529F\uFF0C\u8BF7\u5FFD\u7565\u672C\u6761\u6D4B\u8BD5\u901A\u77E5 +com.oceanbase.odc.notification.channel-test-message=【ODC】消息通道验证成功,请忽略本条测试通知 # # Permission Apply # -com.oceanbase.odc.builtin-resource.permission-apply.project.description=\u7533\u8BF7\u9879\u76EE\u3010{0}\u3011\u7684\u3010{1}\u3011\u6743\u9650 -com.oceanbase.odc.builtin-resource.permission-apply.database.description=\u7533\u8BF7\u6570\u636E\u5E93\u7684\u3010{0}\u3011\u6743\u9650 -com.oceanbase.odc.builtin-resource.permission-apply.table.description=\u7533\u8BF7\u6570\u636E\u8868\u7684\u3010{0}\u3011\u6743\u9650 +com.oceanbase.odc.builtin-resource.permission-apply.project.description=申请项目【{0}】的【{1}】权限 +com.oceanbase.odc.builtin-resource.permission-apply.database.description=申请数据库的【{0}】权限 +com.oceanbase.odc.builtin-resource.permission-apply.table.description=申请数据表的【{0}】权限 # # Multiple Async # -com.oceanbase.odc.builtin-resource.multiple-async.sub-ticket.description=\u3010{0}\u3011\u591A\u5E93\u53D8\u66F4 {1} \u7B2C{2}\u6279 {3}.{4} +com.oceanbase.odc.builtin-resource.multiple-async.sub-ticket.description=【{0}】多库变更 {1} 第{2}批 {3}.{4} # # ResourceRoleName # -com.oceanbase.odc.ResourceRoleName.OWNER=\u7BA1\u7406\u5458 +com.oceanbase.odc.ResourceRoleName.OWNER=管理员 com.oceanbase.odc.ResourceRoleName.DBA=DBA -com.oceanbase.odc.ResourceRoleName.DEVELOPER=\u666E\u901A\u6210\u5458 -com.oceanbase.odc.ResourceRoleName.SECURITY_ADMINISTRATOR=\u5B89\u5168\u7BA1\u7406\u5458 -com.oceanbase.odc.ResourceRoleName.PARTICIPANT=\u53C2\u4E0E\u8005 +com.oceanbase.odc.ResourceRoleName.DEVELOPER=普通成员 +com.oceanbase.odc.ResourceRoleName.SECURITY_ADMINISTRATOR=安全管理员 +com.oceanbase.odc.ResourceRoleName.PARTICIPANT=参与者 # # check generated update table ddl # -com.oceanbase.odc.generate-update-table-ddl-check.drop-index.message=\u8BE5\u64CD\u4F5C\u6D89\u53CA\u5220\u9664\u7D22\u5F15\uFF0C\u9AD8\u98CE\u9669\u53D8\u66F4\u8BF7\u8C28\u614E\u64CD\u4F5C! -com.oceanbase.odc.generate-update-table-ddl-check.create-index.message=\u8BE5\u64CD\u4F5C\u6D89\u53CA\u521B\u5EFA\u7D22\u5F15\uFF0C\u5982\u679C\u8868\u6570\u636E\u89C4\u6A21\u8F83\u5927\uFF0C\u6B64\u8FC7\u7A0B\u53EF\u80FD\u4F1A\u6BD4\u8F83\u8017\u65F6\uFF0C\u5EFA\u8BAE\u901A\u8FC7\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1\u6267\u884C -com.oceanbase.odc.generate-update-table-ddl-check.drop-and-create-index.message=\u8BE5\u64CD\u4F5C\u6D89\u53CA\u5220\u9664\u548C\u521B\u5EFA\u7D22\u5F15\uFF0C\u9AD8\u98CE\u9669\u53D8\u66F4\u8BF7\u8C28\u614E\u64CD\u4F5C\uFF01\u6574\u4E2A\u8FC7\u7A0B\u4E0D\u662F\u539F\u5B50\u6027\u64CD\u4F5C\uFF0C\u5EFA\u8BAE\u5206\u6B65\u6267\u884C\uFF0C\u5148\u521B\u5EFA\u65B0\u7684\u7D22\u5F15\uFF0C\u5F85\u65B0\u7D22\u5F15\u521B\u5EFA\u5B8C\u6BD5\u5E76\u751F\u6548\u540E\u518D\u5220\u9664\u65E7\u7684\u7D22\u5F15\u3002\u5982\u679C\u8868\u6570\u636E\u89C4\u6A21\u8F83\u5927\uFF0C\u6B64\u8FC7\u7A0B\u53EF\u80FD\u4F1A\u6BD4\u8F83\u8017\u65F6\uFF0C\u5EFA\u8BAE\u901A\u8FC7\u6570\u636E\u5E93\u53D8\u66F4\u4EFB\u52A1\u6267\u884C +com.oceanbase.odc.generate-update-table-ddl-check.drop-index.message=该操作涉及删除索引,高风险变更请谨慎操作! +com.oceanbase.odc.generate-update-table-ddl-check.create-index.message=该操作涉及创建索引,如果表数据规模较大,此过程可能会比较耗时,建议通过数据库变更任务执行 +com.oceanbase.odc.generate-update-table-ddl-check.drop-and-create-index.message=该操作涉及删除和创建索引,高风险变更请谨慎操作!整个过程不是原子性操作,建议分步执行,先创建新的索引,待新索引创建完毕并生效后再删除旧的索引。如果表数据规模较大,此过程可能会比较耗时,建议通过数据库变更任务执行 # DatabasePermissionType -com.oceanbase.odc.DatabasePermissionType.QUERY=\u67E5\u8BE2 -com.oceanbase.odc.DatabasePermissionType.CHANGE=\u53D8\u66F4 -com.oceanbase.odc.DatabasePermissionType.EXPORT=\u5BFC\u51FA -com.oceanbase.odc.DatabasePermissionType.ACCESS=\u8BBF\u95EE +com.oceanbase.odc.DatabasePermissionType.QUERY=查询 +com.oceanbase.odc.DatabasePermissionType.CHANGE=变更 +com.oceanbase.odc.DatabasePermissionType.EXPORT=导出 +com.oceanbase.odc.DatabasePermissionType.ACCESS=访问 -com.oceanbase.odc.PartitionPlanVariableKey.INTERVAL=\u95F4\u9694 -com.oceanbase.odc.PartitionPlanVariableKey.LAST_PARTITION_VALUE=\u6700\u540E\u4E00\u4E2A\u5206\u533A\u89C4\u5219\u5BF9\u5E94\u4F4D\u7F6E\u8868\u8FBE\u5F0F\u7684\u503C -com.oceanbase.odc.partitionplan.TimeDataType=\u65F6\u95F4\u7C7B\u578B -com.oceanbase.odc.partitionplan.NumberDataType=\u6570\u5B57\u7C7B\u578B +com.oceanbase.odc.PartitionPlanVariableKey.INTERVAL=间隔 +com.oceanbase.odc.PartitionPlanVariableKey.LAST_PARTITION_VALUE=最后一个分区规则对应位置表达式的值 +com.oceanbase.odc.partitionplan.TimeDataType=时间类型 +com.oceanbase.odc.partitionplan.NumberDataType=数字类型 From 78c6d637bf2ca3926afb4ab7a83196a7c48cc5ee Mon Sep 17 00:00:00 2001 From: IL MARE Date: Wed, 3 Jul 2024 11:34:47 +0800 Subject: [PATCH 3/3] fix(flow): failed to startup a ticket (#2798) * fix timeout setting is not useful * optimize log printing * optimize exception throwing * optimize the logic * optimize the logic * add long * format the code --- .../odc/service/flow/FlowInstanceService.java | 6 ++---- .../flow/task/BaseODCFlowTaskDelegate.java | 17 +++++++++++++++-- .../task/DatabaseChangeRuntimeFlowableTask.java | 3 --- .../flow/task/MockDataRuntimeFlowableTask.java | 3 +-- .../permission/DBResourcePermissionHelper.java | 15 ++++++++++++++- .../service/session/ConnectConsoleService.java | 3 ++- 6 files changed, 34 insertions(+), 13 deletions(-) diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/FlowInstanceService.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/FlowInstanceService.java index f0acc1ee47..e1e2c3f03a 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/FlowInstanceService.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/FlowInstanceService.java @@ -263,8 +263,6 @@ public class FlowInstanceService { @Autowired private EnvironmentRepository environmentRepository; @Autowired - private DBResourcePermissionHelper dbResourcePermissionHelper; - @Autowired private EnvironmentService environmentService; private final List> dataTransferTaskInitHooks = new ArrayList<>(); @@ -790,8 +788,8 @@ private void checkCreateFlowInstancePermission(CreateFlowInstanceReq req) { } }); } - List unauthorizedDBResources = - dbResourcePermissionHelper.filterUnauthorizedDBResources(resource2Types, false); + List unauthorizedDBResources = this.permissionHelper + .filterUnauthorizedDBResources(resource2Types, false); if (CollectionUtils.isNotEmpty(unauthorizedDBResources)) { throw new BadRequestException(ErrorCodes.DatabaseAccessDenied, new Object[] {unauthorizedDBResources.stream() diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/BaseODCFlowTaskDelegate.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/BaseODCFlowTaskDelegate.java index d10318e9ae..b8779086a5 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/BaseODCFlowTaskDelegate.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/BaseODCFlowTaskDelegate.java @@ -26,6 +26,7 @@ import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadFactory; import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; import org.apache.commons.collections4.CollectionUtils; import org.flowable.engine.delegate.DelegateExecution; @@ -102,7 +103,7 @@ public abstract class BaseODCFlowTaskDelegate extends BaseRuntimeFlowableDele private void init(DelegateExecution execution) { this.taskId = FlowTaskUtil.getTaskId(execution); - this.timeoutMillis = FlowTaskUtil.getExecutionExpirationIntervalMillis(execution); + this.timeoutMillis = getTimeoutMillis(execution); this.taskService.updateExecutorInfo(taskId, new ExecutorInfo(hostProperties)); SecurityContextUtils.setCurrentUser(FlowTaskUtil.getTaskCreator(execution)); } @@ -113,6 +114,7 @@ private void initMonitorExecutor() { .build(); scheduleExecutor = new ScheduledThreadPoolExecutor(1, threadFactory); int interval = RuntimeTaskConstants.DEFAULT_TASK_CHECK_INTERVAL_SECONDS; + AtomicBoolean isCancelled = new AtomicBoolean(false); scheduleExecutor.scheduleAtFixedRate(() -> { try { updateHeartbeatTime(); @@ -124,6 +126,13 @@ private void initMonitorExecutor() { } try { if (isCompleted() || isTimeout()) { + if (isTimeout() && !isCancelled.getAndSet(true)) { + try { + cancel(true); + } catch (Exception e) { + log.warn("Task is timeout, failed to cancel it, errorMessage={}", e.getMessage()); + } + } taskLatch.countDown(); } } catch (Exception e) { @@ -188,7 +197,7 @@ protected void run(DelegateExecution execution) throws Exception { } catch (Exception e) { log.warn("Task timeout callback method execution failed, taskId={}", taskId, e); } - throw new InterruptedException(); + throw new ServiceTaskCancelledException(); } if (!isSuccessful()) { // 监控线程出错导致闭锁失效,此种情况任务必须终止 @@ -312,6 +321,10 @@ protected void onTimeout(Long taskId, TaskService taskService) { } } + protected long getTimeoutMillis(DelegateExecution execution) { + return FlowTaskUtil.getExecutionExpirationIntervalMillis(execution); + } + /** * This method is scheduled periodically to update the progress of the task */ diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/DatabaseChangeRuntimeFlowableTask.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/DatabaseChangeRuntimeFlowableTask.java index df804f412d..652a4ad26b 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/DatabaseChangeRuntimeFlowableTask.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/DatabaseChangeRuntimeFlowableTask.java @@ -183,9 +183,6 @@ protected void onProgressUpdate(Long taskId, TaskService taskService) { if (Objects.nonNull(asyncTaskThread)) { double progress = asyncTaskThread.getProgressPercentage(); taskService.updateProgress(taskId, progress); - if (System.currentTimeMillis() - asyncTaskThread.getStartTimestamp() > getTimeoutMillis()) { - asyncTaskThread.stopTaskAndKillQuery(sessionManageFacade); - } } } diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MockDataRuntimeFlowableTask.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MockDataRuntimeFlowableTask.java index 8e096dcbaf..e98a73e3da 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MockDataRuntimeFlowableTask.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/flow/task/MockDataRuntimeFlowableTask.java @@ -87,8 +87,7 @@ public boolean isCancelled() { private MockTaskConfig getMockTaskConfig(Long taskId, DelegateExecution execution) { OdcMockTaskConfig config = FlowTaskUtil.getMockParameter(execution); this.connectionConfig = FlowTaskUtil.getConnectionConfig(execution); - return FlowTaskUtil.generateMockConfig(taskId, execution, getTimeoutMillis(), - config, mockProperties); + return FlowTaskUtil.generateMockConfig(taskId, execution, getTimeoutMillis(), config, mockProperties); } @Override diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/permission/DBResourcePermissionHelper.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/permission/DBResourcePermissionHelper.java index 21aab9aec4..674cbce4f4 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/permission/DBResourcePermissionHelper.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/permission/DBResourcePermissionHelper.java @@ -22,6 +22,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; @@ -32,12 +33,15 @@ import org.springframework.stereotype.Component; import com.oceanbase.odc.core.authority.util.SkipAuthorize; +import com.oceanbase.odc.core.shared.constant.DialectType; import com.oceanbase.odc.core.shared.constant.ErrorCodes; import com.oceanbase.odc.core.shared.constant.OrganizationType; import com.oceanbase.odc.core.shared.constant.ResourceRoleName; import com.oceanbase.odc.core.shared.constant.ResourceType; import com.oceanbase.odc.core.shared.exception.AccessDeniedException; import com.oceanbase.odc.core.shared.exception.BadRequestException; +import com.oceanbase.odc.metadb.connection.ConnectionConfigRepository; +import com.oceanbase.odc.metadb.connection.ConnectionEntity; import com.oceanbase.odc.metadb.connection.DatabaseEntity; import com.oceanbase.odc.metadb.connection.DatabaseRepository; import com.oceanbase.odc.metadb.dbobject.DBObjectEntity; @@ -83,6 +87,9 @@ public class DBResourcePermissionHelper { @Autowired private PermissionCheckWhitelist permissionCheckWhitelist; + @Autowired + private ConnectionConfigRepository connectionConfigRepository; + private static final Set ORACLE_DATA_DICTIONARY = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); private static final Set MYSQL_DATA_DICTIONARY = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); @@ -106,13 +113,19 @@ public void checkDBPermissions(Collection databaseIds, Collection entities = databaseRepository.findByIdIn(databaseIds); + Set connectionIds = entities.stream() + .map(DatabaseEntity::getConnectionId) + .filter(Objects::nonNull).collect(Collectors.toSet()); + Map id2Entity = this.connectionConfigRepository.findByIdIn(connectionIds) + .stream().collect(Collectors.toMap(ConnectionEntity::getId, e -> e)); List toCheckDatabaseIds = new ArrayList<>(); Set projectIds = getPermittedProjectIds(); for (DatabaseEntity e : entities) { if (e.getProjectId() == null) { throw new AccessDeniedException("Database is not belong to any project"); } - if (permissionCheckWhitelist.containsDatabase(e.getName(), e.getDialectType()) + DialectType dialectType = id2Entity.get(e.getConnectionId()).getDialectType(); + if (permissionCheckWhitelist.containsDatabase(e.getName(), dialectType) || projectIds.contains(e.getProjectId())) { continue; } diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/session/ConnectConsoleService.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/session/ConnectConsoleService.java index c6e3ff673e..6ed7f89265 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/session/ConnectConsoleService.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/session/ConnectConsoleService.java @@ -340,7 +340,8 @@ public AsyncExecuteResultResp getMoreResults(@NotNull String sessionId, String r Objects.isNull(timeoutSeconds) ? DEFAULT_GET_RESULT_TIMEOUT_SECONDS : timeoutSeconds; boolean shouldRemoveContext = context.isFinished(); try { - List resultList = context.getMoreSqlExecutionResults(gettingResultTimeoutSeconds * 1000); + List resultList = + context.getMoreSqlExecutionResults(gettingResultTimeoutSeconds * 1000L); List results = resultList.stream().map(jdbcGeneralResult -> { SqlExecuteResult result = generateResult(connectionSession, jdbcGeneralResult, context.getContextMap()); try (TraceStage stage = result.getSqlTuple().getSqlWatch().start(SqlExecuteStages.SQL_AFTER_CHECK)) {