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 <[email protected]>
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