You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/04/02 06:42:45 UTC

[shardingsphere] branch master updated: Refactor QualifiedReadwriteSplittingDataSourceRouter (#24949)

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

sunnianjun 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 d524462ebdc Refactor QualifiedReadwriteSplittingDataSourceRouter (#24949)
d524462ebdc is described below

commit d524462ebdce5ab567b27a7ad275da8d3537d027
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Apr 2 14:42:38 2023 +0800

    Refactor QualifiedReadwriteSplittingDataSourceRouter (#24949)
---
 .../readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java | 2 +-
 .../route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java | 5 +++--
 .../type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java     | 2 +-
 .../QualifiedReadwriteSplittingTransactionalDataSourceRouter.java    | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
index e7019ff4be2..01f2659e31a 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/ReadwriteSplittingDataSourceRouter.java
@@ -47,7 +47,7 @@ public final class ReadwriteSplittingDataSourceRouter {
      */
     public String route(final SQLStatementContext<?> sqlStatementContext) {
         for (QualifiedReadwriteSplittingDataSourceRouter each : getQualifiedRouters(connectionContext)) {
-            if (each.isQualified(sqlStatementContext)) {
+            if (each.isQualified(sqlStatementContext, rule)) {
                 return each.route(rule);
             }
         }
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
index d7f53219ec1..9992f28744b 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/QualifiedReadwriteSplittingDataSourceRouter.java
@@ -27,11 +27,12 @@ public interface QualifiedReadwriteSplittingDataSourceRouter {
     
     /**
      * Judge whether qualified to route.
-     * 
+     *
      * @param sqlStatementContext SQL statement context
+     * @param rule readwrite splitting datasource rule
      * @return qualified to route or not
      */
-    boolean isQualified(SQLStatementContext<?> sqlStatementContext);
+    boolean isQualified(SQLStatementContext<?> sqlStatementContext, ReadwriteSplittingDataSourceRule rule);
     
     /**
      * Route to data source.
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
index 4302728c428..86c543844b4 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingPrimaryDataSourceRouter.java
@@ -33,7 +33,7 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.handler.dml.SelectStatem
 public final class QualifiedReadwriteSplittingPrimaryDataSourceRouter implements QualifiedReadwriteSplittingDataSourceRouter {
     
     @Override
-    public boolean isQualified(final SQLStatementContext<?> sqlStatementContext) {
+    public boolean isQualified(final SQLStatementContext<?> sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
         return isPrimaryRoute(sqlStatementContext);
     }
     
diff --git a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
index 08fd2cf7b23..cd86d731e06 100644
--- a/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
+++ b/features/readwrite-splitting/core/src/main/java/org/apache/shardingsphere/readwritesplitting/route/qualified/type/QualifiedReadwriteSplittingTransactionalDataSourceRouter.java
@@ -35,7 +35,7 @@ public final class QualifiedReadwriteSplittingTransactionalDataSourceRouter impl
     private final StandardReadwriteSplittingDataSourceRouter standardRouter = new StandardReadwriteSplittingDataSourceRouter();
     
     @Override
-    public boolean isQualified(final SQLStatementContext<?> sqlStatementContext) {
+    public boolean isQualified(final SQLStatementContext<?> sqlStatementContext, final ReadwriteSplittingDataSourceRule rule) {
         return connectionContext.getTransactionContext().isInTransaction();
     }