You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2023/05/22 01:00:13 UTC

[shardingsphere] branch master updated: Fix Sonar issue of ShardingSpherePreparedStatement & ShardingSphereStatement & DatabaseConnector (#25797)

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 <zh...@apache.org>
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;
     }