This is an automated email from the ASF dual-hosted git repository.

zhangliang 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 df87ad8cac2 Add `CREATE DB_DISCOVERY RULE` docs. (#20344)
df87ad8cac2 is described below

commit df87ad8cac2f6be1236ce0aa053c60c08ff1a61a
Author: Jieker <[email protected]>
AuthorDate: Tue Aug 23 00:43:17 2022 +0800

    Add `CREATE DB_DISCOVERY RULE` docs. (#20344)
---
 .../rdl/rule-definition/db-discovery/_index.cn.md  |  7 ++
 .../rdl/rule-definition/db-discovery/_index.en.md  |  7 ++
 .../db-discovery/create-db-discovery-rule.cn.md    | 71 ++++++++++++++++++++
 .../db-discovery/create-db-discovery-rule.en.md    | 75 ++++++++++++++++++++++
 .../create-readwrite-splitting-rule.en.md          |  8 +--
 .../reference/distsql/syntax/reserved-word.cn.md   |  4 ++
 .../reference/distsql/syntax/reserved-word.en.md   |  4 ++
 7 files changed, 172 insertions(+), 4 deletions(-)

diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.cn.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.cn.md
new file mode 100644
index 00000000000..6d204151d95
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.cn.md
@@ -0,0 +1,7 @@
++++
+title = "数据库发现"
+weight = 1
+chapter = true
++++
+
+本章节将对数据库发现特性的语法进行详细说明。
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.en.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.en.md
new file mode 100644
index 00000000000..67eaac4be90
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/_index.en.md
@@ -0,0 +1,7 @@
++++
+title = "Database Discovery"
+weight = 1
+chapter = true
++++
+
+This chapter describes the syntax of database discovery.
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.cn.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.cn.md
new file mode 100644
index 00000000000..5d1c4fcdcc9
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.cn.md
@@ -0,0 +1,71 @@
++++
+title = "CREATE DB_DISCOVERY RULE"
+weight = 2
++++
+
+## 描述
+
+`CREATE DB_DISCOVERY RULE` 语法用于创建数据库发现规则
+
+### 语法定义
+
+```sql
+CreateDatabaseDiscoveryRule ::=
+  'CREATE' 'DB_DISCOVERY' 'RULE' ( databaseDiscoveryDefinition | 
databaseDiscoveryConstruction ) ( ',' ( databaseDiscoveryDefinition | 
databaseDiscoveryConstruction ) )*
+
+databaseDiscoveryDefinition ::=
+    ruleName '(' 'RESOURCES' '(' resourceName ( ',' resourceName )* ')' ',' 
'TYPE' '(' 'NAME' '=' typeName ( ',' 'PROPERTIES' 'key' '=' 'value' ( ',' 'key' 
'=' 'value' )* )? ',' 'HEARTBEAT' '(' 'key' '=' 'value' ( ',' 'key' '=' 'value' 
)* ')' ')' 
+    
+databaseDiscoveryConstruction ::=
+    ruleName '(' 'RESOURCES' '(' resourceName ( ',' resourceName )* ')' ',' 
'TYPE' '=' discoveryTypeName ',' 'HEARTBEAT' '=' discoveryHeartbeatName ')'
+    
+ruleName ::=
+  identifier
+
+resourceName ::=
+  identifier
+
+typeName ::=
+  identifier
+
+discoveryHeartbeatName ::=
+  identifier
+```
+
+### 补充说明
+
+- `discoveryType` 指定数据库发现服务类型,`ShardingSphere` 内置支持 `MySQL.MGR`;
+- 重复的 `ruleName` 将无法被创建;
+- 正在被使用的 `discoveryType` 和 `discoveryHeartbeat` 无法被删除;
+- 带有 `-` 的命名在改动时需要使用 `" "`;
+- 移除 `discoveryRule` 时不会移除被该 `discoveryRule` 使用的 `discoveryType` 和 
`discoveryHeartbeat`。
+
+### 示例
+
+#### 创建 `discoveryRule` 时同时创建 `discoveryType` 和 `discoveryHeartbeat`
+
+```sql
+CREATE DB_DISCOVERY RULE db_discovery_group_0 (
+    RESOURCES(ds_0, ds_1, ds_2),
+    TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='92504d5b-6dec')),
+    HEARTBEAT(PROPERTIES('keep-alive-cron'='0/5 * * * * ?'))
+);
+```
+
+#### 使用已有的 `discoveryType` 和 `discoveryHeartbeat` 创建 `discoveryRule`
+
+```sql
+CREATE DB_DISCOVERY RULE db_discovery_group_1 (
+    RESOURCES(ds_0, ds_1, ds_2),
+    TYPE=db_discovery_group_1_mgr,
+    HEARTBEAT=db_discovery_group_1_heartbeat
+);
+```
+
+### 保留字
+
+`CREATE`、`DB_DISCOVERY`、`RULE`、`RESOURCES`、`TYPE`、`NAME`、`PROPERTIES`、`HEARTBEAT`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.en.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.en.md
new file mode 100644
index 00000000000..90a55c1e1be
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/db-discovery/create-db-discovery-rule.en.md
@@ -0,0 +1,75 @@
++++
+title = "CREATE DB_DISCOVERY RULE"
+weight = 2
++++
+
+## Description
+
+The `CREATE DB_DISCOVERY RULE` syntax is used to create a database discovery 
rule.
+
+### Syntax
+
+```sql
+CreateDatabaseDiscoveryRule ::=
+  'CREATE' 'DB_DISCOVERY' 'RULE' ( databaseDiscoveryDefinition | 
databaseDiscoveryConstruction ) ( ',' ( databaseDiscoveryDefinition | 
databaseDiscoveryConstruction ) )*
+
+databaseDiscoveryDefinition ::=
+    ruleName '(' 'RESOURCES' '(' resourceName ( ',' resourceName )* ')' ',' 
'TYPE' '(' 'NAME' '=' typeName ( ',' 'PROPERTIES' 'key' '=' 'value' ( ',' 'key' 
'=' 'value' )* )? ',' 'HEARTBEAT' '(' 'key' '=' 'value' ( ',' 'key' '=' 'value' 
)* ')' ')' 
+    
+databaseDiscoveryConstruction ::=
+    ruleName '(' 'RESOURCES' '(' resourceName ( ',' resourceName )* ')' ',' 
'TYPE' '=' discoveryTypeName ',' 'HEARTBEAT' '=' discoveryHeartbeatName ')'
+    
+ruleName ::=
+  identifier
+
+resourceName ::=
+  identifier
+
+typeName ::=
+  identifier
+
+discoveryHeartbeatName ::=
+  identifier
+```
+
+### Supplement
+
+- `discoveryType` specifies the database discovery service type, 
`ShardingSphere` has built-in support for `MySQL.MGR`;
+- Duplicate `ruleName` will not be created;
+- The `discoveryType` and `discoveryHeartbeat` being used cannot be deleted;
+- Names with `-` need to use `" "` when changing;
+- When removing the `discoveryRule`, the `discoveryType` and 
`discoveryHeartbeat` used by the `discoveryRule` will not
+  be removed.
+
+### Example
+
+#### When creating a `discoveryRule`, create both `discoveryType` and 
`discoveryHeartbeat`
+
+```sql
+CREATE
+DB_DISCOVERY RULE db_discovery_group_0 (
+    RESOURCES(ds_0, ds_1, ds_2),
+    TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='92504d5b-6dec')),
+    HEARTBEAT(PROPERTIES('keep-alive-cron'='0/5 * * * * ?'))
+);
+```
+
+#### Use the existing `discoveryType` and `discoveryHeartbeat` to create a 
`discoveryRule`
+
+```sql
+CREATE
+DB_DISCOVERY RULE db_discovery_group_1 (
+    RESOURCES(ds_0, ds_1, ds_2),
+    TYPE=db_discovery_group_1_mgr,
+    HEARTBEAT=db_discovery_group_1_heartbeat
+);
+
+```
+
+### Reserved word
+
+`CREATE`, `DB_DISCOVERY`, `RULE`, `RESOURCES`, `TYPE`, `NAME`, `PROPERTIES`, 
`HEARTBEAT`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
index b20fc4d6280..71e31d32ee2 100644
--- 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
@@ -37,10 +37,10 @@ resourceName ::=
 
 ### Supplement
 
-- Support the creation of static readwrite-splitting rules and dynamic 
readwrite-splitting rules
-- Dynamic readwrite-splitting rules rely on database discovery rules
-- `loadBanlancerType` specifies the load balancing algorithm type, please 
refer to Load Balance Algorithm
-- Duplicate `ruleName` will not be created
+- Support the creation of static readwrite-splitting rules and dynamic 
readwrite-splitting rules;
+- Dynamic readwrite-splitting rules rely on database discovery rules;
+- `loadBanlancerType` specifies the load balancing algorithm type, please 
refer to Load Balance Algorithm;
+- Duplicate `ruleName` will not be created.
 
 ### Example
 
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 f3efb845aa8..72bb664d130 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
@@ -29,6 +29,10 @@ weight = 3
 
 
`CREATE`、`ENCRYPT`、`RULE`、`COLUMNS`、`NAME`、`CIPHER`、`PLAIN`、`QUERY_WITH_CIPHER_COLUMN`、`TYPE`、`TRUE`、`FALSE`
 
+#### Database Discovery
+
+`CREATE`、`DB_DISCOVERY`、`RULE`、`RESOURCES`、`TYPE`、`NAME`、`PROPERTIES`、`HEARTBEAT`
+
 ### 补充说明
 
 - 上述保留字大小写不敏感
\ No newline at end of file
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 aede0f7e574..95de92fcaed 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.en.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.en.md
@@ -29,6 +29,10 @@ weight = 3
 
 `CREATE`, `ENCRYPT`, `RULE`, `COLUMNS`, `NAME`, `CIPHER`, `PLAIN`, 
`QUERY_WITH_CIPHER_COLUMN`, `TYPE`, `TRUE`, `FALSE`
 
+#### Database Discovery
+
+`CREATE`, `DB_DISCOVERY`, `RULE`, `RESOURCES`, `TYPE`, `NAME`, `PROPERTIES`, 
`HEARTBEAT`
+
 ### Supplement
 
 - The above reserved words are not case-sensitive
\ No newline at end of file

Reply via email to