This is an automated email from the ASF dual-hosted git repository.
jianglongtao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new e4806583bb1 Add `CREATE SHADOW ALGORITHM` docs. (#20852)
e4806583bb1 is described below
commit e4806583bb17b34270e741430a0f552a1c6b8415
Author: Jieker <[email protected]>
AuthorDate: Thu Sep 8 09:52:26 2022 +0800
Add `CREATE SHADOW ALGORITHM` docs. (#20852)
* Add `CREATE SHADOW ALGORITHM` docs.
* Add reserved word.
---
.../shadow/create-shadow-algorithm.cn.md | 49 +++++++++++++++++++++
.../shadow/create-shadow-algorithm.en.md | 50 ++++++++++++++++++++++
.../shadow/create-shadow-rule.cn.md | 4 +-
.../shadow/create-shadow-rule.en.md | 2 +-
.../reference/distsql/syntax/reserved-word.cn.md | 2 +-
.../reference/distsql/syntax/reserved-word.en.md | 2 +-
6 files changed, 104 insertions(+), 5 deletions(-)
diff --git
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.cn.md
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.cn.md
new file mode 100644
index 00000000000..abc6e9e4175
--- /dev/null
+++
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.cn.md
@@ -0,0 +1,49 @@
++++
+title = "CREATE SHADOW ALGORITHM"
+weight = 3
++++
+
+## 描述
+
+`CREATE SHADOW ALGORITHM` 语法用于创建影子库算法规则。
+
+### 语法定义
+
+```sql
+CreateShadowAlgorithm ::=
+ 'CREATE' 'SHADOW' 'RULE' shadowAlgorithm ( ',' shadowAlgorithm )*
+
+shadowAlgorithm ::=
+ '(' ( algorithmName ',' )? 'TYPE' '(' 'NAME' '=' shadowAlgorithmType ','
'PROPERTIES' '(' ( 'key' '=' 'value' ( ',' 'key' '=' 'value' )* ) ')' ')'
+
+algorithmName ::=
+ identifier
+
+shadowAlgorithmType ::=
+ string
+```
+
+### 补充说明
+
+- `shadowAlgorithm` 可同时作用于多个 `shadowTableRule`;
+- `algorithmName` 未指定时会根据 `ruleName`、`tableName` 和 `shadowAlgorithmType` 自动生成;
+- `shadowAlgorithmType` 目前支持 `VALUE_MATCH`、`REGEX_MATCH` 和 `SIMPLE_HINT`。
+
+### 示例
+
+#### 创建影子库压测算法
+
+```sql
+CREATE SHADOW ALGORITHM
+ (simple_hint_algorithm, TYPE(NAME="SIMPLE_HINT", PROPERTIES("shadow"="true",
"foo"="bar"))),
+ (user_id_match_algorithm,
TYPE(NAME="REGEX_MATCH",PROPERTIES("operation"="insert", "column"="user_id",
"regex"='[1]'))
+);
+```
+
+### 保留字
+
+`CREATE`、`SHADOW`、`ALGORITHM`、`TYPE`、`NAME`、`PROPERTIES`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
diff --git
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.en.md
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.en.md
new file mode 100644
index 00000000000..e13d3732a4d
--- /dev/null
+++
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-algorithm.en.md
@@ -0,0 +1,50 @@
++++
+title = "CREATE SHADOW ALGORITHM"
+weight = 3
++++
+
+## Description
+
+The `CREATE SHADOW ALGORITHM` syntax is used to create a shadow algorithm.
+
+### Syntax
+
+```sql
+CreateShadowAlgorithm ::=
+ 'CREATE' 'SHADOW' 'RULE' shadowAlgorithm ( ',' shadowAlgorithm )*
+
+shadowAlgorithm ::=
+ '(' ( algorithmName ',' )? 'TYPE' '(' 'NAME' '=' shadowAlgorithmType ','
'PROPERTIES' '(' ( 'key' '=' 'value' ( ',' 'key' '=' 'value' )* ) ')' ')'
+
+algorithmName ::=
+ identifier
+
+shadowAlgorithmType ::=
+ string
+```
+
+### Supplement
+
+- `shadowAlgorithm` can act on multiple `shadowTableRule` at the same time;
+- If `algorithmName` is not specified, it will be automatically generated
according to `ruleName`, `tableName`
+ and `shadowAlgorithmType`;
+- `shadowAlgorithmType` currently supports `VALUE_MATCH`, `REGEX_MATCH` and
`SIMPLE_HINT`.
+
+### Example
+
+#### Create a shadow algorithm
+
+```sql
+CREATE SHADOW ALGORITHM
+ (simple_hint_algorithm, TYPE(NAME="SIMPLE_HINT", PROPERTIES("shadow"="true",
"foo"="bar"))),
+ (user_id_match_algorithm,
TYPE(NAME="REGEX_MATCH",PROPERTIES("operation"="insert", "column"="user_id",
"regex"='[1]'))
+);
+```
+
+### Reserved word
+
+`CREATE`, `SHADOW`, `ALGORITHM`, `TYPE`, `NAME`, `PROPERTIES`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
index 6429269dbee..11b62b1811e 100644
---
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
+++
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.cn.md
@@ -5,7 +5,7 @@ weight = 2
## 描述
-`CREATE SHADOW RULE` 语法用于创建影子库压测规则
+`CREATE SHADOW RULE` 语法用于创建影子库压测规则。
### 语法定义
@@ -69,4 +69,4 @@ CREATE SHADOW RULE shadow_rule(
### 相关链接
-- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
diff --git
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
index 56abb772b77..d01d969a1c5 100644
---
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
+++
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/shadow/create-shadow-rule.en.md
@@ -5,7 +5,7 @@ weight = 2
## Description
-The `CREATE SHADOW RULE` syntax is used to create a default shadow rule.
+The `CREATE SHADOW RULE` syntax is used to create a shadow rule.
### Syntax
diff --git a/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
b/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
index fce1f1b9cbf..00786fd49d4 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
@@ -35,7 +35,7 @@ weight = 3
#### 影子压测
-`CREATE`、`SHADOW`、`RULE`、`SOURCE`、`SHADOW`、`TYPE`、`NAME`、`PROPERTIES`
+`CREATE`、`SHADOW`、`ALGORITHM`、`RULE`、`SOURCE`、`SHADOW`、`TYPE`、`NAME`、`PROPERTIES`
### 补充说明
diff --git a/docs/document/content/reference/distsql/syntax/reserved-word.en.md
b/docs/document/content/reference/distsql/syntax/reserved-word.en.md
index 1f24fcc2cac..306f8402b77 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.en.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.en.md
@@ -35,7 +35,7 @@ weight = 3
#### Shadow
-`CREATE`, `SHARDING`, `SINGLE`, `TABLE`, `RULE`, `RESOURCE`
+`CREATE`, `SHARDING`, `ALGORITHM`, `SINGLE`, `TABLE`, `RULE`, `RESOURCE`
### Supplement