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 1ef2f19a190 Add `CREATE DEFAULT SINGLE TABLE RULE` docs. (#20211)
1ef2f19a190 is described below

commit 1ef2f19a190bd0053e7509b0fafab063ef2f5df3
Author: Jieker <jieker_m...@163.com>
AuthorDate: Tue Aug 16 22:05:14 2022 +0800

    Add `CREATE DEFAULT SINGLE TABLE RULE` docs. (#20211)
    
    * Add `CREATE DEFAULT SINGLE TABLE RULE` docs.
    
    * Change docs about loadBanlancerType.
---
 .../readwrite-splitting/_index.cn.md               |  7 ++
 .../readwrite-splitting/_index.en.md               |  7 ++
 .../create-readwrite-splitting-rule.cn.md          | 74 ++++++++++++++++++++++
 .../create-readwrite-splitting-rule.en.md          | 74 ++++++++++++++++++++++
 .../reference/distsql/syntax/reserved-word.cn.md   | 15 ++++-
 .../reference/distsql/syntax/reserved-word.en.md   |  9 +++
 6 files changed, 183 insertions(+), 3 deletions(-)

diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.cn.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.cn.md
new file mode 100644
index 00000000000..8cc7952ea84
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.cn.md
@@ -0,0 +1,7 @@
++++
+title = "读写分离"
+weight = 1
+chapter = true
++++
+
+本章节将对读写分离特性的语法进行详细说明。
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
new file mode 100644
index 00000000000..687895005d3
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/_index.en.md
@@ -0,0 +1,7 @@
++++
+title = "Readwrite-Splitting"
+weight = 1
+chapter = true
++++
+
+This chapter describes the syntax of readwrite splitting.
diff --git 
a/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.cn.md
 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.cn.md
new file mode 100644
index 00000000000..35c77d312f0
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.cn.md
@@ -0,0 +1,74 @@
++++
+title = "CREATE READWRITE_SPLITTING RULE"
+weight = 2
++++
+
+## 描述
+
+`CREATE DEFAULT SINGLE TABLE RULE` 语法用于创建读写分离规则
+
+### 语法定义
+
+```sql
+CreateReadwriteSplittingRule ::=
+  'CREATE' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition ( ',' 
readwriteSplittingDefinition )*
+
+readwriteSplittingDefinition ::=
+  ruleName '(' ( staticReadwriteSplittingDefinition | 
dynamicReadwriteSplittingDefinition ) ( ',' loadBanlancerDefinition )? ')'
+
+staticReadwriteSplittingDefinition ::=
+    'WRITE_RESOURCE' '=' writeResourceName ',' 'READ_RESOURCES' '(' ruleName 
(',' ruleName)* ')'
+
+dynamicReadwriteSplittingDefinition ::=
+    'AUTO_AWARE_RESOURCE' '=' resourceName ( ',' 
'WRITE_DATA_SOURCE_QUERY_ENABLED' '=' ('TRUE' | 'FALSE') )?
+
+loadBanlancerDefinition ::=
+    'TYPE' '(' 'NAME' '=' loadBanlancerType ( ',' 'PROPERTIES' '(' 'key' '=' 
'value' ( ',' 'key' '=' 'value' )* ')' )? ')'
+
+ruleName ::=
+  identifier
+
+writeResourceName ::=
+  identifier
+
+resourceName ::=
+  identifier
+```
+
+### 补充说明
+
+- 支持创建静态读写分离规则和动态读写分离规则;
+- 动态读写分离规则依赖于数据库发现规则;
+- `loadBanlancerType` 指定负载均衡算法类型,请参考负载均衡算法;
+- 重复的 `ruleName` 将无法被创建。
+
+### 示例
+
+#### 创建静态读写分离规则
+
+```sql
+CREATE READWRITE_SPLITTING RULE ms_group_0 (
+    WRITE_RESOURCE=write_ds,
+    READ_RESOURCES(read_ds_0,read_ds_1),
+    TYPE(NAME=random)
+);
+```
+
+#### 创建动态读写分离规则
+
+```sql
+CREATE READWRITE_SPLITTING RULE ms_group_1 (
+    AUTO_AWARE_RESOURCE=group_0,
+    WRITE_DATA_SOURCE_QUERY_ENABLED=false,
+    TYPE(NAME=random,PROPERTIES(read_weight='2:1'))
+);
+```
+
+### 保留字
+
+`CREATE`、`READWRITE_SPLITTING`、`WRITE_RESOURCE`、`READ_RESOURCES`、`AUTO_AWARE_RESOURCE`、`WRITE_DATA_SOURCE_QUERY_ENABLED`
+、`TYPE`、`NAME`、`PROPERTIES`、`TRUE`、`FALSE`
+
+### 相关链接
+
+- [保留字](/cn/reference/distsql/syntax/reserved-word/)
\ No newline at end of file
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
new file mode 100644
index 00000000000..c9768303978
--- /dev/null
+++ 
b/docs/document/content/reference/distsql/syntax/rdl/rule-definition/readwrite-splitting/create-readwrite-splitting-rule.en.md
@@ -0,0 +1,74 @@
++++
+title = "CREATE READWRITE_SPLITTING RULE"
+weight = 2
++++
+
+## Description
+
+The `CREATE READWRITE_SPLITTING RULE` syntax is used to create a readwrite 
splitting rule.
+
+### Syntax
+
+```sql
+CreateReadwriteSplittingRule ::=
+  'CREATE' 'READWRITE_SPLITTING' 'RULE' readwriteSplittingDefinition ( ',' 
readwriteSplittingDefinition )*
+
+readwriteSplittingDefinition ::=
+  ruleName '(' ( staticReadwriteSplittingDefinition | 
dynamicReadwriteSplittingDefinition ) ( ',' loadBanlancerDefinition )? ')'
+
+staticReadwriteSplittingDefinition ::=
+    'WRITE_RESOURCE' '=' writeResourceName ',' 'READ_RESOURCES' '(' ruleName 
(',' ruleName)* ')'
+
+dynamicReadwriteSplittingDefinition ::=
+    'AUTO_AWARE_RESOURCE' '=' resourceName ( ',' 
'WRITE_DATA_SOURCE_QUERY_ENABLED' '=' ('TRUE' | 'FALSE') )?
+
+loadBanlancerDefinition ::=
+    'TYPE' '(' 'NAME' '=' loadBanlancerType ( ',' 'PROPERTIES' '(' 'key' '=' 
'value' ( ',' 'key' '=' 'value' )* ')' )? ')'
+
+ruleName ::=
+  identifier
+
+writeResourceName ::=
+  identifier
+
+resourceName ::=
+  identifier
+```
+
+### 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
+
+### Example
+
+#### Create a statics readwrite splitting rule
+
+```sql
+CREATE READWRITE_SPLITTING RULE ms_group_0 (
+    WRITE_RESOURCE=write_ds,
+    READ_RESOURCES(read_ds_0,read_ds_1),
+    TYPE(NAME=random)
+);
+```
+
+#### Create a dynamic readwrite splitting rule
+
+```sql
+CREATE READWRITE_SPLITTING RULE ms_group_1 (
+    AUTO_AWARE_RESOURCE=group_0,
+    WRITE_DATA_SOURCE_QUERY_ENABLED=false,
+    TYPE(NAME=random,PROPERTIES(read_weight='2:1'))
+);
+```
+
+### Reserved word
+
+`CREATE`, `READWRITE_SPLITTING`, `WRITE_RESOURCE`, `READ_RESOURCES`, 
`AUTO_AWARE_RESOURCE`
+, `WRITE_DATA_SOURCE_QUERY_ENABLED`, `TYPE`, `NAME`, `PROPERTIES`, `TRUE`, 
`FALSE`
+
+### Related links
+
+- [Reserved word](/en/reference/distsql/syntax/reserved-word/)
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 9df06802188..03e7b8a86b4 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.cn.md
@@ -12,9 +12,18 @@ weight = 3
 
 #### SHARDING
 
-`CREATE`、`ALTER`、`DEFAULT`、`SHARDING`、`BROADCAST`、`BINDING`、`DATABASE`、`TABLE`、`STRATEGY`、`RULE`、`RULES`、`ALGORITHM`、`DATANODES`
-、`DATABASE_STRATEGY`、`TABLE_STRATEGY`、`KEY_GENERATE_STRATEGY`、`RESOURCES`、`SHARDING_COLUMN`、`KEY`、`GENERATOR`、`TYPE`
-、`SHARDING_COLUMNS`、`KEY_GENERATOR`、`SHARDING_ALGORITHM`、`COLUMN`、`NAME`、`PROPERTIES`
+`CREATE`、`ALTER`、`DEFAULT`、`SHARDING`、`BROADCAST`、`BINDING`、`DATABASE`、`TABLE`、`STRATEGY`、`RULE`、`RULES`、`ALGORITHM`
+、`DATANODES`、`DATABASE_STRATEGY`、`TABLE_STRATEGY`、`KEY_GENERATE_STRATEGY`、`RESOURCES`、`SHARDING_COLUMN`、`KEY`
+、`GENERATOR`、`TYPE`、`SHARDING_COLUMNS`、`KEY_GENERATOR`、`SHARDING_ALGORITHM`、`COLUMN`、`NAME`、`PROPERTIES`
+
+#### Single Table
+
+`CREATE`、`SHARDING`、`SINGLE`、`TABLE`、`RULE`、`RESOURCE`
+
+#### Readwrite Splitting
+
+`CREATE`、`READWRITE_SPLITTING`、`WRITE_RESOURCE`、`READ_RESOURCES`、`AUTO_AWARE_RESOURCE`、`WRITE_DATA_SOURCE_QUERY_ENABLED`
+、`TYPE`、`NAME`、`PROPERTIES`、`TRUE`、`FALSE`
 
 ### 补充说明
 
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 33aa803f6c7..88edd374116 100644
--- a/docs/document/content/reference/distsql/syntax/reserved-word.en.md
+++ b/docs/document/content/reference/distsql/syntax/reserved-word.en.md
@@ -16,6 +16,15 @@ weight = 3
 , `DATANODES`, `DATABASE_STRATEGY`, `TABLE_STRATEGY`, `KEY_GENERATE_STRATEGY`, 
`RESOURCES`, `SHARDING_COLUMN`, `KEY`
 , `GENERATOR`, `TYPE`, `SHARDING_COLUMNS`, `KEY_GENERATOR`, 
`SHARDING_ALGORITHM`, `COLUMN`, `NAME`, `PROPERTIES`
 
+#### Single Table
+
+`CREATE`, `SHARDING`, `SINGLE`, `TABLE`, `RULE`, `RESOURCE`
+
+#### Readwrite Splitting
+
+`CREATE`, `READWRITE_SPLITTING`, `WRITE_RESOURCE`, `READ_RESOURCES`, 
`AUTO_AWARE_RESOURCE`
+, `WRITE_DATA_SOURCE_QUERY_ENABLED`, `TYPE`, `NAME`, `PROPERTIES`, `TRUE`, 
`FALSE`
+
 ### Supplement
 
 - The above reserved words are not case-sensitive
\ No newline at end of file

Reply via email to