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 ad1721cf94b Fix Sonar issue of ShardingSpherePreparedStatement & 
ShardingSphereStatement & DatabaseConnector (#25797)
ad1721cf94b is described below

commit ad1721cf94b509d926615257671a67d70656d0bf
Author: zhaojinchao <[email protected]>
AuthorDate: Mon May 22 08:59:53 2023 +0800

    Fix Sonar issue of ShardingSpherePreparedStatement & 
ShardingSphereStatement & DatabaseConnector (#25797)
---
 .../jdbc/core/statement/ShardingSpherePreparedStatement.java     | 9 +++++++--
 .../driver/jdbc/core/statement/ShardingSphereStatement.java      | 9 +++++++--
 .../proxy/backend/connector/DatabaseConnector.java               | 9 +++++++--
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
index 704167d98c3..bccd7b0326a 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSpherePreparedStatement.java
@@ -223,7 +223,10 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
         Optional<DataNodeContainedRule> dataNodeContainedRule = 
getDataNodeContainedRuleForShardingRule(ruleMetaData.findRules(DataNodeContainedRule.class));
         Collection<ColumnContainedRule> columnContainedRules = 
ruleMetaData.findRules(ColumnContainedRule.class);
         for (String each : 
sqlStatementContext.getTablesContext().getTableNames()) {
-            return (!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules);
+            if ((!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules)) {
+                continue;
+            }
+            return false;
         }
         return true;
     }
@@ -239,7 +242,9 @@ public final class ShardingSpherePreparedStatement extends 
AbstractPreparedState
     
     private boolean containsInColumnContainedRule(final String tableName, 
final Collection<ColumnContainedRule> columnContainedRules) {
         for (ColumnContainedRule each : columnContainedRules) {
-            return each.getTables().contains(tableName);
+            if (each.getTables().contains(tableName)) {
+                return true;
+            }
         }
         return false;
     }
diff --git 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
index 2232ebf3b52..ec79c7f43e0 100644
--- 
a/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
+++ 
b/jdbc/core/src/main/java/org/apache/shardingsphere/driver/jdbc/core/statement/ShardingSphereStatement.java
@@ -251,7 +251,10 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
         Optional<DataNodeContainedRule> dataNodeContainedRule = 
getDataNodeContainedRuleForShardingRule(ruleMetaData.findRules(DataNodeContainedRule.class));
         Collection<ColumnContainedRule> columnContainedRules = 
ruleMetaData.findRules(ColumnContainedRule.class);
         for (String each : 
sqlStatementContext.getTablesContext().getTableNames()) {
-            return (!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules);
+            if ((!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules)) {
+                continue;
+            }
+            return false;
         }
         return true;
     }
@@ -267,7 +270,9 @@ public final class ShardingSphereStatement extends 
AbstractStatementAdapter {
     
     private boolean containsInColumnContainedRule(final String tableName, 
final Collection<ColumnContainedRule> columnContainedRules) {
         for (ColumnContainedRule each : columnContainedRules) {
-            return each.getTables().contains(tableName);
+            if (each.getTables().contains(tableName)) {
+                return true;
+            }
         }
         return false;
     }
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
index a74556675e2..34651bdbcfc 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/DatabaseConnector.java
@@ -149,7 +149,10 @@ public final class DatabaseConnector implements 
DatabaseBackendHandler {
         Optional<DataNodeContainedRule> dataNodeContainedRule = 
getDataNodeContainedRuleForShardingRule(database.getRuleMetaData().findRules(DataNodeContainedRule.class));
         Collection<ColumnContainedRule> columnContainedRules = 
database.getRuleMetaData().findRules(ColumnContainedRule.class);
         for (String each : 
sqlStatementContext.getTablesContext().getTableNames()) {
-            return (!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules);
+            if ((!dataNodeContainedRule.isPresent() || 
!dataNodeContainedRule.get().getAllTables().contains(each)) && 
!containsInColumnContainedRule(each, columnContainedRules)) {
+                continue;
+            }
+            return false;
         }
         return true;
     }
@@ -165,7 +168,9 @@ public final class DatabaseConnector implements 
DatabaseBackendHandler {
     
     private boolean containsInColumnContainedRule(final String tableName, 
final Collection<ColumnContainedRule> columnContainedRules) {
         for (ColumnContainedRule each : columnContainedRules) {
-            return each.getTables().contains(tableName);
+            if (each.getTables().contains(tableName)) {
+                return true;
+            }
         }
         return false;
     }

Reply via email to