morrySnow commented on code in PR #2032:
URL: https://github.com/apache/doris-website/pull/2032#discussion_r1952217726
##########
versioned_docs/version-3.0/sql-manual/sql-statements/data-governance/ALTER-SQL_BLOCK_RULE.md:
##########
@@ -25,41 +25,162 @@ under the License.
-->
-
## Description
-Modify SQL blocking rules to allow modification of each item such as
sql/sqlHash/partition_num/tablet_num/cardinality/global/enable.
+This statement is used to create an SQL block rule.
+
+SQL_BLOCK_RULE can be used to restrict users from performing certain
operations, such as avoiding scanning large amounts of data.
-grammar:
+## Syntax
```sql
-ALTER SQL_BLOCK_RULE rule_name
-[PROPERTIES ("key"="value", ...)];
+CREATE SQL_BLOCK_RULE <rule_name>
Review Comment:
alter应该属于另外一个pr?
##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/data-governance/CREATE-SQL_BLOCK_RULE.md:
##########
@@ -26,131 +26,155 @@ under the License.
-
-
## 描述
-该语句创建 SQL 阻止规则,该功能可用于限制任何 sql 语句(包括 DDL 和 DML 语句)。
+该语句用于创建 SQL 阻止规则
-支持按用户配置 SQL 黑名单:
+SQL_BLOCK_RULE 可用于限制用户执行某些操作,比如避免扫描大量数据等
-- 通过正则匹配的方式拒绝指定 SQL
-- 通过设置 partition_num, tablet_num, cardinality, 检查一个查询是否达到其中一个限制
- - partition_num, tablet_num, cardinality 可以一起设置,一旦一个查询达到其中一个限制,查询将会被拦截
-
-语法:
+## 语法
```sql
-CREATE SQL_BLOCK_RULE rule_name
-[PROPERTIES ("key"="value", ...)];
+CREATE SQL_BLOCK_RULE <rule_name>
+PROPERTIES (
+ -- property
+ <property>
+ -- Additional properties
+ [ , ... ]
+ )
```
-参数说明:
+## 必选参数
+
+**1. `<rule_name>`**
+
+> 规则的名字
+
+**2. `<property>`**
+
+> 规则的属性,可以分为三类:执行 SQL 类,扫描限制类和开关类。
+
+> 执行 SQL 类和扫描限制类是互斥的,也就是说一个 SQL_BLOCK_RULE 只能限制其中一种。
+
+### 执行 SQL 类:
+
+包含两种,分别代表正则匹配和精准匹配,两种只能选择其中一个。
+
+- sql:匹配规则 (基于正则匹配,特殊字符需要转译,如`select *`使用`select \\*`),用户在执行 sql 时,系统会把这里设置的
sql 作为正则对用户提交的 sql 进行匹配,如果能匹配上,会阻止 sql 的运行。
+
+- sqlHash: sql 的 md5 摘要值,这里主要是配合慢日志来使用,用户无需自己计算摘要值,例如慢日志中发现某个 sql
执行的很慢,可以在`fe.audit.log`复制`SqlHash`,创建 SQL_BLOCK_RULE 限制这个 sql 运行。
+
+### 扫描限制类
+
+用户发起查询的时候,查询优化器会计算出每张表需要扫描的 partition 数,tablet 数
和扫描的数据行数。以下属性分别对这三个数字进行限制,可以同时设置,也可以只限制部分
-- sql:匹配规则 (基于正则匹配,特殊字符需要转译,如`select *`使用`select \\*`),可选,默认值为 "NULL", 最后不要带分号
-- sqlHash: sql hash 值,用于完全匹配,我们会在`fe.audit.log`打印这个值,可选,这个参数和 sql 只能二选一,默认值为
"NULL"
-- partition_num: 一个扫描节点会扫描的最大 partition 数量,默认值为 0L
-- tablet_num: 一个扫描节点会扫描的最大 tablet 数量,默认值为 0L
-- cardinality: 一个扫描节点粗略的扫描行数,默认值为 0L
-- global:是否全局 (所有用户) 生效,默认为 false
+- partition_num: 一个表将扫描的最大 partition 数量
+- tablet_num: 一个表将扫描的最大 tablet 数量
+- cardinality: 一个表将扫描的数据行数
+
+### 开关类
+
+- global:是否全局 (所有用户) 生效,默认为 false。不设置为 true 的话,需要通过 set property 对某个用户生效
- enable:是否开启阻止规则,默认为 true
Review Comment:
整个这部分都属于property,所以是不是把三级标题改成加粗那种,然后都放到 property的引用中
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]