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;
}