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

duanzhengqiang 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 6f62bfa  add example and doc of sql hint (#13918)
6f62bfa is described below

commit 6f62bfa48e0f0b3252bbae667c5f3d5fd916a122
Author: tuichenchuxin <[email protected]>
AuthorDate: Fri Dec 3 17:50:51 2021 +0800

    add example and doc of sql hint (#13918)
---
 .../special-api/sharding/hint.cn.md                | 27 +++++++++++++++++-----
 .../special-api/sharding/hint.en.md                | 26 ++++++++++++++++-----
 .../raw/jdbc/ShardingSQLCommentHintRawExample.java |  8 +++----
 .../example/proxy/hint/ProxyHintExample.java       |  8 +++----
 4 files changed, 49 insertions(+), 20 deletions(-)

diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.cn.md
index 4991363..6011377 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.cn.md
@@ -100,19 +100,21 @@ try (HintManager hintManager = HintManager.getInstance();
 
 ### 使用 Hint 强制主库路由
 
-#### 获取 HintManager
+#### 使用手动编程的方式
+
+##### 获取 HintManager
 
 与基于 Hint 的数据分片相同。
 
-#### 设置主库路由
+##### 设置主库路由
 
 - 使用 `hintManager.setWriteRouteOnly` 设置主库路由。
 
-#### 清除分片键值
+##### 清除分片键值
 
 与基于 Hint 的数据分片相同。
 
-#### 完整代码示例
+##### 完整代码示例
 
 ```java
 String sql = "SELECT * FROM t_order";
@@ -128,6 +130,19 @@ try (HintManager hintManager = HintManager.getInstance();
 }
 ```
 
+#### 使用 SQL 注释的方式
+
+##### 使用规范
+
+SQL Hint 功能需要用户提前开启解析注释的配置,设置 `sql-comment-parse-enabled` 为 `true`。
+注释格式暂时只支持`/* */`,内容需要以`ShardingSphere hint:`开始,属性名为 `writeRouteOnly`。
+
+##### 完整示例
+```sql
+/* ShardingSphere hint: writeRouteOnly=true */
+SELECT * FROM t_order;
+```
+
 ### 使用 Hint 路由至指定数据库
 
 #### 使用手动编程的方式
@@ -161,10 +176,10 @@ try (HintManager hintManager = HintManager.getInstance();
 ##### 使用规范
 
 SQL Hint 功能需要用户提前开启解析注释的配置,设置 `sql-comment-parse-enabled` 为 
`true`,目前只支持路由至一个数据源。
-注释格式暂时只支持`/* */`,内容需要以`sql hint:`开始,属性名为 `dataSourceName`。
+注释格式暂时只支持`/* */`,内容需要以`ShardingSphere hint:`开始,属性名为 `dataSourceName`。
 
 ##### 完整示例
 ```sql
-/* sql hint: dataSourceName=ds_0 */
+/* ShardingSphere hint: dataSourceName=ds_0 */
 SELECT * FROM t_order;
 ```
\ No newline at end of file
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
index 1441d9c..e9ce8f7 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/special-api/sharding/hint.en.md
@@ -100,19 +100,21 @@ try (HintManager hintManager = HintManager.getInstance();
 
 ### Primary Route with Hint
 
-#### Get HintManager
+#### Use manual programming
+
+##### Get HintManager
 
 Be the same as sharding based on hint.
 
-#### Configure Primary Database Route
+##### Configure Primary Database Route
 
 - Use `hintManager.setWriteRouteOnly` to configure primary database route.
 
-#### Clean Hint Value
+##### Clean Hint Value
 
 Be the same as data sharding based on hint.
 
-#### Codes:
+##### Codes:
 
 ```java
 String sql = "SELECT * FROM t_order";
@@ -128,6 +130,18 @@ try (HintManager hintManager = HintManager.getInstance();
 }
 ```
 
+#### Use special SQL comments
+
+##### Terms of Use
+
+To use SQL Hint function, users need to set `sql-comment-parse-enabled` to 
`true`.
+The comment format only supports `/* */` for now. The content needs to start 
with `ShardingSphere hint:`, and the attribute name needs to be 
`writeRouteOnly`.
+
+##### Codes:
+```sql
+/* ShardingSphere hint: writeRouteOnly=true */
+SELECT * FROM t_order;
+```
 ### Route to the specified database with Hint
 
 #### Use manual programming
@@ -161,10 +175,10 @@ try (HintManager hintManager = HintManager.getInstance();
 ##### Terms of Use
 
 To use SQL Hint function, users need to set `sql-comment-parse-enabled` to 
`true`. Currently, only support routing to one data source.
-The comment format only supports `/* */` for now. The content needs to start 
with `sql hint:`, and the attribute name needs to be `dataSourceName`.
+The comment format only supports `/* */` for now. The content needs to start 
with `ShardingSphere hint:`, and the attribute name needs to be 
`dataSourceName`.
 
 ##### Codes:
 ```sql
-/* sql hint: dataSourceName=ds_0 */
+/* ShardingSphere hint: dataSourceName=ds_0 */
 SELECT * FROM t_order;
 ```
\ No newline at end of file
diff --git 
a/examples/shardingsphere-jdbc-example/single-feature-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/ShardingSQLCommentHintRawExample.java
 
b/examples/shardingsphere-jdbc-example/single-feature-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/ShardingSQLCommentHintRawExample.java
index 2813e85..7062f44 100644
--- 
a/examples/shardingsphere-jdbc-example/single-feature-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/ShardingSQLCommentHintRawExample.java
+++ 
b/examples/shardingsphere-jdbc-example/single-feature-example/sharding-example/sharding-raw-jdbc-example/src/main/java/org/apache/shardingsphere/example/sharding/raw/jdbc/ShardingSQLCommentHintRawExample.java
@@ -49,10 +49,10 @@ public final class ShardingSQLCommentHintRawExample {
     private static void processWithHintValue(final DataSource dataSource) 
throws SQLException {
         try (Connection connection = dataSource.getConnection();
              Statement statement = connection.createStatement()) {
-            statement.execute("/* sql hint: dataSourceName=ds_1 */select * 
from t_order");
-            statement.execute("/* sql hint: dataSourceName=ds_1 */SELECT i.* 
FROM t_order o, t_order_item i WHERE o.order_id = i.order_id");
-            statement.execute("/* sql hint: dataSourceName=ds_1 */select * 
from t_order_item");
-            statement.execute("/* sql hint: dataSourceName=ds_1 */INSERT INTO 
t_order (user_id, address_id, status) VALUES (1, 1, 'init')");
+            statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/select * from t_order");
+            statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/SELECT i.* FROM t_order o, t_order_item i WHERE o.order_id = i.order_id");
+            statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/select * from t_order_item");
+            statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/INSERT INTO t_order (user_id, address_id, status) VALUES (1, 1, 'init')");
         }
     }
 }
diff --git 
a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ProxyHintExample.java
 
b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ProxyHintExample.java
index 32bc9df..931535c 100644
--- 
a/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ProxyHintExample.java
+++ 
b/examples/shardingsphere-proxy-example/shardingsphere-proxy-hint-example/src/main/java/org/apache/shardingsphere/example/proxy/hint/ProxyHintExample.java
@@ -70,10 +70,10 @@ public final class ProxyHintExample {
         try (Connection connection = dataSource.getConnection();
              Statement statement = connection.createStatement()) {
             if (TYPE == HintType.SQL_HINT_DATASOURCE) {
-                statement.execute("/* sql hint: dataSourceName=ds_1 */select * 
from t_order");
-                statement.execute("/* sql hint: dataSourceName=ds_1 */SELECT 
i.* FROM t_order o, t_order_item i WHERE o.order_id = i.order_id");
-                statement.execute("/* sql hint: dataSourceName=ds_1 */select * 
from t_order_item");
-                statement.execute("/* sql hint: dataSourceName=ds_1 */INSERT 
INTO t_order (user_id, address_id, status) VALUES (1, 1, 'init')");
+                statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/select * from t_order");
+                statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/SELECT i.* FROM t_order o, t_order_item i WHERE o.order_id = i.order_id");
+                statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/select * from t_order_item");
+                statement.execute("/* ShardingSphere hint: dataSourceName=ds_1 
*/INSERT INTO t_order (user_id, address_id, status) VALUES (1, 1, 'init')");
             } else {
                 setHintValue(statement);
                 statement.execute("select * from t_order");

Reply via email to