You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/04/10 11:34:24 UTC

[shardingsphere] branch master updated: Document fix (#10022)

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 1a5868d  Document fix (#10022)
1a5868d is described below

commit 1a5868daef2781e21297bc62b1018db0145f346a
Author: 孙念君 Sun Nianjun <ka...@outlook.com>
AuthorDate: Sat Apr 10 19:33:44 2021 +0800

    Document fix (#10022)
    
    * Document: fix a format issue
    
    Co-authored-by: 孙念君 <su...@bizseer.com>
---
 .../features/sharding/concept/key-generator.cn.md  |  2 +-
 .../features/sharding/concept/sharding.cn.md       |  4 ++--
 .../features/sharding/principle/parse.cn.md        | 27 +++++++++++-----------
 .../features/sharding/principle/parse.en.md        |  2 +-
 4 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/docs/document/content/features/sharding/concept/key-generator.cn.md b/docs/document/content/features/sharding/concept/key-generator.cn.md
index f6979d1..db84695 100644
--- a/docs/document/content/features/sharding/concept/key-generator.cn.md
+++ b/docs/document/content/features/sharding/concept/key-generator.cn.md
@@ -51,7 +51,7 @@ Math.pow(2, 41) / (365 * 24 * 60 * 60 * 1000L);
 
  - 序列号位(12bit)
 
-该序列是用来在同一个毫秒内生成不同的 ID。如果在这个毫秒内生成的数量超过 4096 (2的12次幂),那么生成器会等待到下个毫秒继续生成。
+该序列是用来在同一个毫秒内生成不同的 ID。如果在这个毫秒内生成的数量超过 4096 (2 的 12 次幂),那么生成器会等待到下个毫秒继续生成。
 
 雪花算法主键的详细结构见下图。
 
diff --git a/docs/document/content/features/sharding/concept/sharding.cn.md b/docs/document/content/features/sharding/concept/sharding.cn.md
index 55c89ae..ca801ac 100644
--- a/docs/document/content/features/sharding/concept/sharding.cn.md
+++ b/docs/document/content/features/sharding/concept/sharding.cn.md
@@ -19,7 +19,7 @@ SQL 中如果无分片字段,将执行全路由,性能较差。
 
 - 标准分片算法
 
-对应 StandardShardingAlgorithm,用于处理使用单一键作为分片键的 `=`、`IN`、`BETWEEN AND`、`>`、`<`、`>=`、`<=`进行分片的场景。需要配合 StandardShardingStrategy 使用。
+对应 StandardShardingAlgorithm,用于处理使用单一键作为分片键的 `=`、`IN`、`BETWEEN AND`、`>`、`<`、`>=`、`<=` 进行分片的场景。需要配合 StandardShardingStrategy 使用。
 
 - 复合分片算法
 
@@ -38,7 +38,7 @@ SQL 中如果无分片字段,将执行全路由,性能较差。
 对应 StandardShardingStrategy。提供对 SQL 语句中的 `=`, `>`, `<`, `>=`, `<=`, `IN` 和 `BETWEEN AND` 的分片操作支持。
 StandardShardingStrategy 只支持单分片键,提供 PreciseShardingAlgorithm 和 RangeShardingAlgorithm 两个分片算法。
 PreciseShardingAlgorithm 是必选的,用于处理 `=` 和 `IN` 的分片。
-RangeShardingAlgorithm 是可选的,用于处理 `BETWEEN AND`, `>`, `<`, `>=`, `<=`分片,如果不配置 RangeShardingAlgorithm,SQL 中的 `BETWEEN AND` 将按照全库路由处理。
+RangeShardingAlgorithm 是可选的,用于处理 `BETWEEN AND`, `>`, `<`, `>=`, `<=` 分片,如果不配置 RangeShardingAlgorithm,SQL 中的 `BETWEEN AND` 将按照全库路由处理。
 
 - 复合分片策略
 
diff --git a/docs/document/content/features/sharding/principle/parse.cn.md b/docs/document/content/features/sharding/principle/parse.cn.md
index 22aff31..ae68d64 100644
--- a/docs/document/content/features/sharding/principle/parse.cn.md
+++ b/docs/document/content/features/sharding/principle/parse.cn.md
@@ -10,7 +10,7 @@ weight = 1
 
 解析过程分为词法解析和语法解析。
 词法解析器用于将 SQL 拆解为不可再分的原子符号,称为 Token。并根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。
-再使用语法解析器将 词法解析器的输出 转换为抽象语法树。
+再使用语法解析器将词法解析器的输出转换为抽象语法树。
 
 例如,以下 SQL:
 
@@ -24,7 +24,7 @@ SELECT id, name FROM t_user WHERE status = 'ACTIVE' AND age > 18
 
 为了便于理解,抽象语法树中的关键字的 Token 用绿色表示,变量的 Token 用红色表示,灰色表示需要进一步拆分。
 
-最后,通过`visitor`对抽象语法树遍历构造域模型,通过域模型(`SQLStatement`)去提炼分片所需的上下文,并标记有可能需要改写的位置。
+最后,通过 `visitor` 对抽象语法树遍历构造域模型,通过域模型(`SQLStatement`)去提炼分片所需的上下文,并标记有可能需要改写的位置。
 供分片使用的解析上下文包含查询选择项(Select Items)、表信息(Table)、分片条件(Sharding Condition)、自增主键信息(Auto increment Primary Key)、排序信息(Order By)、分组信息(Group By)以及分页信息(Limit、Rownum、Top)。
 SQL 的一次解析过程是不可逆的,一个个 Token 按 SQL 原本的顺序依次进行解析,性能很高。
 考虑到各种数据库 SQL 方言的异同,在解析模块提供了各类数据库的 SQL 方言字典。
@@ -41,13 +41,14 @@ ShardingSphere 的 SQL 解析器经历了 3 代产品的更新迭代。
 第二代 SQL 解析器从 1.5.x 版本开始,ShardingSphere 采用完全自研的 SQL 解析引擎。
 由于目的不同,ShardingSphere 并不需要将 SQL 转为一颗完全的抽象语法树,也无需通过访问器模式进行二次遍历。它采用对 SQL `半理解`的方式,仅提炼数据分片需要关注的上下文,因此 SQL 解析的性能和兼容性得到了进一步的提高。
 
-第三代 SQL 解析器从 3.0.x 版本开始,尝试使用 ANTLR 作为 SQL 解析引擎 的生成器,并采用 Visit 的方式从 AST 中获取 SQL Statement。从5.0.x 版本开始,解析引擎的架构已完成重构调整,同时通过将第一次解析的得到的 AST 放入缓存,方便下次直接获取相同  SQL的解析结果,来提高解析效率。 因此我们建议用户采用 `PreparedStatement` 这种 SQL 预编译的方式来提升性能。
+第三代 SQL 解析器从 3.0.x 版本开始,尝试使用 ANTLR 作为 SQL 解析引擎的生成器,并采用 Visit 的方式从 AST 中获取 SQL Statement。从 5.0.x 版本开始,解析引擎的架构已完成重构调整,
+同时通过将第一次解析的得到的 AST 放入缓存,方便下次直接获取相同  SQL的解析结果,来提高解析效率。 因此我们建议用户采用 `PreparedStatement` 这种 SQL 预编译的方式来提升性能。
 
 ### 功能点
 
-* 提供独立的SQL解析功能
-* 可以非常方便的对语法规则进行扩充和修改(使用了`ANTLR`)
-* 支持多种方言的SQL解析
+* 提供独立的 SQL 解析功能
+* 可以非常方便的对语法规则进行扩充和修改(使用了 `ANTLR`)
+* 支持多种方言的 SQL 解析
 
 | 数据库    | 支持状态 |
 |----------|--------|
@@ -56,19 +57,19 @@ ShardingSphere 的 SQL 解析器经历了 3 代产品的更新迭代。
 |SQLServer |支持     |
 |Oracle    |支持     |
 |SQL92     |支持     |
-* 提供SQL格式化功能(开发中)
-* 提供SQL模板话功能(开发中)
+* 提供 SQL 格式化功能(开发中)
+* 提供 SQL 模板话功能(开发中)
 
 ### API使用
 
 引入Maven依赖
-```
+```xml
 <dependency>
     <groupId>org.apache.shardingsphere</groupId>
     <artifactId>shardingsphere-sql-parser-engine</artifactId>
     <version>${project.version}</version>
 </dependency>
-// 根据需要引入指定方言的解析模块(以MySQL为例),可以添加所有支持的方言,也可以只添加使用到的
+<!-- 根据需要引入指定方言的解析模块(以 MySQL 为例),可以添加所有支持的方言,也可以只添加使用到的 -->
 <dependency>
     <groupId>org.apache.shardingsphere</groupId>
     <artifactId>shardingsphere-sql-parser-mysql</artifactId>
@@ -83,7 +84,7 @@ ShardingSphere 的 SQL 解析器经历了 3 代产品的更新迭代。
 ```
 /**
  * databaseType type:String 可能值 MySQL,Oracle,PostgreSQL,SQL92,SQLServer
- * sql type:String 解析的SQL
+ * sql type:String 解析的 SQL
  * useCache type:boolean 是否使用缓存
  * @return parse tree
  */
@@ -94,7 +95,7 @@ ParseTree tree = new SQLParserEngine(databaseType).parse(sql, useCache);
 
 ```
 /**
- * databaseType type:String 可能值 MySQL,Oracle,PostgreSQL,SQL92,SQLServer
+ * databaseType type:String 可能指 MySQL,Oracle,PostgreSQL,SQL92,SQLServer
  * useCache type:boolean 是否使用缓存
  * @return SQLStatement
  */
@@ -108,7 +109,7 @@ SQLStatement sqlStatement = sqlVisitorEngine.visit(tree);
 
 ```
 /**
- * databaseType type:String 可能值 MySQL
+ * databaseType type:String 可能指 MySQL
  * useCache type:boolean 是否使用缓存
  * @return String
  */
diff --git a/docs/document/content/features/sharding/principle/parse.en.md b/docs/document/content/features/sharding/principle/parse.en.md
index 76e4237..5b487cf 100644
--- a/docs/document/content/features/sharding/principle/parse.en.md
+++ b/docs/document/content/features/sharding/principle/parse.en.md
@@ -75,7 +75,7 @@ demo:
 
 ```
 /**
- * databaseType type:String values: MySQL,Oracle,PostgreSQL,SQL92,SQLServer
+ * databaseType type:String values: MySQL,Oracle,PostgreSQL,SQL92,SQLServer
  * sql type:String SQL to be parsed
  * useCache type:boolean whether use cache
  * @return parse tree