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/04/24 10:42:21 UTC
[shardingsphere] branch master updated: Add more design rules for pmd (#25305)
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 66c42e9d667 Add more design rules for pmd (#25305)
66c42e9d667 is described below
commit 66c42e9d667433b4eed5a03570df82fe0c1ad472
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Mon Apr 24 18:42:13 2023 +0800
Add more design rules for pmd (#25305)
---
.../UtilityDistSQLStatementParserEngine.java | 2 +-
.../generator/EncryptAlterTableTokenGenerator.java | 6 ++----
.../update/AlterEncryptRuleStatementUpdater.java | 7 +++---
.../update/CreateEncryptRuleStatementUpdater.java | 2 +-
.../update/AlterMaskRuleStatementUpdater.java | 2 +-
...DropReadwriteSplittingRuleStatementUpdater.java | 9 +++-----
.../impl/ShardingAlterViewStatementValidator.java | 13 +++++------
...ShardingTableReferenceRuleStatementUpdater.java | 9 ++++----
.../DropShardingAlgorithmStatementUpdater.java | 12 ++++-------
...ShardingTableReferenceRuleStatementUpdater.java | 4 ++--
.../DropShardingTableRuleStatementUpdater.java | 11 ++++------
.../HikariDataSourcePoolPropertiesValidator.java | 12 +++++------
.../data/pipeline/core/api/PipelineJobAPI.java | 4 +---
.../core/api/impl/AbstractPipelineJobAPIImpl.java | 10 ++++-----
.../netty/MySQLBinlogEventPacketDecoder.java | 6 ++----
.../type/tso/provider/RedisTSOProvider.java | 15 +++++--------
.../sqltranslator/spi/SQLTranslator.java | 4 +---
.../rule/fixture/AlwaysFailedSQLTranslator.java | 3 +--
.../sqltranslator/jooq/JooQDialectRegistry.java | 4 +---
.../sqltranslator/jooq/JooQSQLTranslator.java | 3 +--
.../watcher/ClusterStateChangedWatcher.java | 9 +++-----
.../ral/updatable/SetDistVariableUpdater.java | 2 +-
.../database/parser/SQLParserErrorListener.java | 2 +-
.../sql/common/extractor/TableExtractor.java | 8 +++----
src/resources/pmd.xml | 25 +++++++++++++++++-----
.../sql/parser/external/ExternalSQLParserIT.java | 3 ++-
.../external/result/SQLParseResultReporter.java | 5 +++++
27 files changed, 88 insertions(+), 104 deletions(-)
diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
index 7a427888f70..8b79ac85750 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/utility/UtilityDistSQLStatementParserEngine.java
@@ -44,7 +44,7 @@ public final class UtilityDistSQLStatementParserEngine {
private ASTNode parseToASTNode(final String sql) {
try {
return SQLParserFactory.newInstance(sql, UtilityDistSQLLexer.class, UtilityDistSQLParser.class).parse();
- } catch (final ParseCancellationException | SQLParsingException ignored) {
+ } catch (final ParseCancellationException ignored) {
throw new SQLParsingException(sql);
}
}
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
index d8d4a1965d0..96c933cddc5 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
@@ -222,10 +222,8 @@ public final class EncryptAlterTableTokenGenerator implements CollectionSQLToken
if (!previousAlgorithm.isPresent() && !currentAlgorithm.isPresent()) {
return;
}
- if (previousAlgorithm.isPresent() && currentAlgorithm.isPresent() && previousAlgorithm.get().equals(currentAlgorithm.get())) {
- if (checkPreviousAndAfterHasSameColumnNumber(tableName, segment)) {
- return;
- }
+ if (previousAlgorithm.isPresent() && currentAlgorithm.isPresent() && previousAlgorithm.get().equals(currentAlgorithm.get()) && checkPreviousAndAfterHasSameColumnNumber(tableName, segment)) {
+ return;
}
throw new EncryptColumnAlterException(tableName, segment.getColumnDefinition().getColumnName().getIdentifier().getValue(), segment.getPreviousColumn().getIdentifier().getValue());
}
diff --git a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
index 982e590c094..508b176194b 100644
--- a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
+++ b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/AlterEncryptRuleStatementUpdater.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.encrypt.distsql.handler.update;
import com.google.common.base.Preconditions;
-import org.apache.shardingsphere.distsql.handler.exception.algorithm.InvalidAlgorithmConfigurationException;
import org.apache.shardingsphere.distsql.handler.exception.rule.InvalidRuleConfigurationException;
import org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
import org.apache.shardingsphere.distsql.handler.update.RuleDefinitionAlterUpdater;
@@ -58,7 +57,7 @@ public final class AlterEncryptRuleStatementUpdater implements RuleDefinitionAlt
checkToBeAlteredLikeEncryptors(sqlStatement);
}
- private void checkCurrentRuleConfiguration(final String databaseName, final EncryptRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkCurrentRuleConfiguration(final String databaseName, final EncryptRuleConfiguration currentRuleConfig) {
ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredRuleException("Encrypt", databaseName));
}
@@ -85,7 +84,7 @@ public final class AlterEncryptRuleStatementUpdater implements RuleDefinitionAlt
return columns.stream().filter(each -> !each.isCorrectDataType()).map(each -> String.format("%s.%s", tableName, each.getName())).collect(Collectors.toList());
}
- private void checkToBeAlteredEncryptors(final AlterEncryptRuleStatement sqlStatement) throws InvalidAlgorithmConfigurationException {
+ private void checkToBeAlteredEncryptors(final AlterEncryptRuleStatement sqlStatement) {
Collection<AlgorithmSegment> encryptors = new LinkedHashSet<>();
sqlStatement.getRules().forEach(each -> each.getColumns().forEach(column -> {
encryptors.add(column.getEncryptor());
@@ -94,7 +93,7 @@ public final class AlterEncryptRuleStatementUpdater implements RuleDefinitionAlt
encryptors.stream().filter(Objects::nonNull).forEach(each -> TypedSPILoader.checkService(EncryptAlgorithm.class, each.getName(), each.getProps()));
}
- private void checkToBeAlteredLikeEncryptors(final AlterEncryptRuleStatement sqlStatement) throws InvalidAlgorithmConfigurationException {
+ private void checkToBeAlteredLikeEncryptors(final AlterEncryptRuleStatement sqlStatement) {
Collection<AlgorithmSegment> likeEncryptors = new LinkedHashSet<>();
sqlStatement.getRules().forEach(each -> each.getColumns().forEach(column -> likeEncryptors.add(column.getLikeQueryEncryptor())));
likeEncryptors.stream().filter(Objects::nonNull).forEach(each -> TypedSPILoader.checkService(LikeEncryptAlgorithm.class, each.getName(), each.getProps()));
diff --git a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
index 2f9071e7341..eed6846d896 100644
--- a/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
+++ b/features/encrypt/distsql/handler/src/main/java/org/apache/shardingsphere/encrypt/distsql/handler/update/CreateEncryptRuleStatementUpdater.java
@@ -72,7 +72,7 @@ public final class CreateEncryptRuleStatementUpdater implements RuleDefinitionCr
currentRuleConfig.getEncryptors().putAll(toBeCreatedRuleConfig.getEncryptors());
}
- private void checkDuplicateRuleNames(final String databaseName, final CreateEncryptRuleStatement sqlStatement, final EncryptRuleConfiguration currentRuleConfig) throws DuplicateRuleException {
+ private void checkDuplicateRuleNames(final String databaseName, final CreateEncryptRuleStatement sqlStatement, final EncryptRuleConfiguration currentRuleConfig) {
Collection<String> duplicatedRuleNames = getDuplicatedRuleNames(sqlStatement, currentRuleConfig);
ShardingSpherePreconditions.checkState(duplicatedRuleNames.isEmpty(), () -> new DuplicateRuleException("encrypt", databaseName, duplicatedRuleNames));
}
diff --git a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
index 901b755f98f..7ec34a2c215 100644
--- a/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
+++ b/features/mask/distsql/handler/src/main/java/org/apache/shardingsphere/mask/distsql/handler/update/AlterMaskRuleStatementUpdater.java
@@ -43,7 +43,7 @@ public final class AlterMaskRuleStatementUpdater implements RuleDefinitionAlterU
checkToBeAlteredRules(databaseName, sqlStatement, currentRuleConfig);
}
- private void checkCurrentRuleConfiguration(final String databaseName, final MaskRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkCurrentRuleConfiguration(final String databaseName, final MaskRuleConfiguration currentRuleConfig) {
ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredRuleException("Mask", databaseName));
}
diff --git a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
index cab47143b6b..9c7edd2f5e2 100644
--- a/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
+++ b/features/readwrite-splitting/distsql/handler/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/handler/update/DropReadwriteSplittingRuleStatementUpdater.java
@@ -18,7 +18,6 @@
package org.apache.shardingsphere.readwritesplitting.distsql.handler.update;
import org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
-import org.apache.shardingsphere.distsql.handler.exception.rule.RuleDefinitionViolationException;
import org.apache.shardingsphere.distsql.handler.exception.rule.RuleInUsedException;
import org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
import org.apache.shardingsphere.infra.datanode.DataNode;
@@ -46,8 +45,7 @@ import java.util.stream.Collectors;
public final class DropReadwriteSplittingRuleStatementUpdater implements RuleDefinitionDropUpdater<DropReadwriteSplittingRuleStatement, ReadwriteSplittingRuleConfiguration> {
@Override
- public void checkSQLStatement(final ShardingSphereDatabase database, final DropReadwriteSplittingRuleStatement sqlStatement,
- final ReadwriteSplittingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
+ public void checkSQLStatement(final ShardingSphereDatabase database, final DropReadwriteSplittingRuleStatement sqlStatement, final ReadwriteSplittingRuleConfiguration currentRuleConfig) {
if (!isExistRuleConfig(currentRuleConfig) && sqlStatement.isIfExists()) {
return;
}
@@ -57,8 +55,7 @@ public final class DropReadwriteSplittingRuleStatementUpdater implements RuleDef
checkToBeDroppedInUsed(database, sqlStatement);
}
- private void checkToBeDroppedRuleNames(final String databaseName, final DropReadwriteSplittingRuleStatement sqlStatement,
- final ReadwriteSplittingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkToBeDroppedRuleNames(final String databaseName, final DropReadwriteSplittingRuleStatement sqlStatement, final ReadwriteSplittingRuleConfiguration currentRuleConfig) {
if (sqlStatement.isIfExists()) {
return;
}
@@ -67,7 +64,7 @@ public final class DropReadwriteSplittingRuleStatementUpdater implements RuleDef
ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(), () -> new MissingRequiredRuleException("Readwrite-splitting", databaseName, sqlStatement.getNames()));
}
- private void checkToBeDroppedInUsed(final ShardingSphereDatabase database, final DropReadwriteSplittingRuleStatement sqlStatement) throws RuleInUsedException {
+ private void checkToBeDroppedInUsed(final ShardingSphereDatabase database, final DropReadwriteSplittingRuleStatement sqlStatement) {
Collection<String> resourceBeUsed = getInUsedResources(database);
Collection<String> ruleInUsed = sqlStatement.getNames().stream().filter(resourceBeUsed::contains).collect(Collectors.toSet());
ShardingSpherePreconditions.checkState(ruleInUsed.isEmpty(), () -> new RuleInUsedException("Readwrite-splitting", database.getName(), ruleInUsed));
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
index ddeece9d0c1..1c98d8c0a7e 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/impl/ShardingAlterViewStatementValidator.java
@@ -22,6 +22,7 @@ import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.hint.HintValueContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.route.context.RouteContext;
+import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.apache.shardingsphere.sharding.exception.syntax.RenamedViewWithoutSameConfigurationException;
import org.apache.shardingsphere.sharding.route.engine.validator.ddl.ShardingDDLStatementValidator;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -58,14 +59,10 @@ public final class ShardingAlterViewStatementValidator extends ShardingDDLStatem
}
private void validateBroadcastShardingView(final ShardingRule shardingRule, final String originView, final String targetView) {
- if (shardingRule.isBroadcastTable(originView) ^ shardingRule.isBroadcastTable(targetView)) {
- throw new RenamedViewWithoutSameConfigurationException(originView, targetView);
- }
- if (shardingRule.isShardingTable(originView) || shardingRule.isShardingTable(targetView)) {
- if (!shardingRule.isAllBindingTables(Arrays.asList(originView, targetView))) {
- throw new RenamedViewWithoutSameConfigurationException(originView, targetView);
- }
- }
+ ShardingSpherePreconditions.checkState(shardingRule.isBroadcastTable(originView) == shardingRule.isBroadcastTable(targetView),
+ () -> new RenamedViewWithoutSameConfigurationException(originView, targetView));
+ ShardingSpherePreconditions.checkState(!shardingRule.isShardingTable(originView) && !shardingRule.isShardingTable(targetView)
+ || shardingRule.isAllBindingTables(Arrays.asList(originView, targetView)), () -> new RenamedViewWithoutSameConfigurationException(originView, targetView));
}
@Override
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
index 815cef39e53..cf92ca141b1 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/AlterShardingTableReferenceRuleStatementUpdater.java
@@ -52,19 +52,18 @@ public final class AlterShardingTableReferenceRuleStatementUpdater implements Ru
checkShardingTableReferenceRulesValid(sqlStatement, currentRuleConfig);
}
- private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) {
ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredRuleException("Sharding", databaseName));
}
- private void checkToBeAlteredRulesExisted(final String databaseName, final AlterShardingTableReferenceRuleStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkToBeAlteredRulesExisted(final String databaseName, final AlterShardingTableReferenceRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
Collection<String> currentRuleNames = currentRuleConfig.getBindingTableGroups().stream().map(ShardingTableReferenceRuleConfiguration::getName).collect(Collectors.toSet());
Collection<String> notExistedRuleNames = sqlStatement.getRules().stream().map(TableReferenceRuleSegment::getName).filter(each -> !currentRuleNames.contains(each)).collect(Collectors.toSet());
ShardingSpherePreconditions.checkState(notExistedRuleNames.isEmpty(), () -> new MissingRequiredRuleException("Sharding table reference", databaseName, notExistedRuleNames));
}
- private void checkDuplicatedTablesInShardingTableReferenceRules(final String databaseName, final AlterShardingTableReferenceRuleStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws DuplicateRuleException {
+ private void checkDuplicatedTablesInShardingTableReferenceRules(final String databaseName,
+ final AlterShardingTableReferenceRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
Collection<String> currentReferencedTableNames = getReferencedTableNames(currentRuleConfig, getToBeAlteredRuleNames(sqlStatement));
Collection<String> duplicatedTableNames = sqlStatement.getTableNames().stream().filter(currentReferencedTableNames::contains).collect(Collectors.toSet());
ShardingSpherePreconditions.checkState(duplicatedTableNames.isEmpty(), () -> new DuplicateRuleException("sharding table reference", databaseName, duplicatedTableNames));
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
index 8616a47c061..24a64b1cc56 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingAlgorithmStatementUpdater.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sharding.distsql.handler.update;
import org.apache.shardingsphere.distsql.handler.exception.algorithm.AlgorithmInUsedException;
import org.apache.shardingsphere.distsql.handler.exception.algorithm.MissingRequiredAlgorithmException;
-import org.apache.shardingsphere.distsql.handler.exception.rule.RuleDefinitionViolationException;
import org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
@@ -38,8 +37,7 @@ import java.util.stream.Collectors;
public final class DropShardingAlgorithmStatementUpdater implements RuleDefinitionDropUpdater<DropShardingAlgorithmStatement, ShardingRuleConfiguration> {
@Override
- public void checkSQLStatement(final ShardingSphereDatabase database,
- final DropShardingAlgorithmStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
+ public void checkSQLStatement(final ShardingSphereDatabase database, final DropShardingAlgorithmStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
if (null == currentRuleConfig && sqlStatement.isIfExists()) {
return;
}
@@ -49,12 +47,11 @@ public final class DropShardingAlgorithmStatementUpdater implements RuleDefiniti
checkShardingAlgorithmsInUsed(databaseName, sqlStatement, currentRuleConfig);
}
- private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredAlgorithmException {
+ private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) {
ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredAlgorithmException("Sharding", databaseName));
}
- private void checkToBeDroppedShardingAlgorithms(final String databaseName, final DropShardingAlgorithmStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredAlgorithmException {
+ private void checkToBeDroppedShardingAlgorithms(final String databaseName, final DropShardingAlgorithmStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
if (sqlStatement.isIfExists()) {
return;
}
@@ -65,8 +62,7 @@ public final class DropShardingAlgorithmStatementUpdater implements RuleDefiniti
}
}
- private void checkShardingAlgorithmsInUsed(final String databaseName, final DropShardingAlgorithmStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws AlgorithmInUsedException {
+ private void checkShardingAlgorithmsInUsed(final String databaseName, final DropShardingAlgorithmStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
Collection<String> allInUsed = getAllOfAlgorithmsInUsed(currentRuleConfig);
Collection<String> usedAlgorithms = sqlStatement.getNames().stream().filter(allInUsed::contains).collect(Collectors.toList());
ShardingSpherePreconditions.checkState(usedAlgorithms.isEmpty(), () -> new AlgorithmInUsedException("Sharding", databaseName, usedAlgorithms));
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
index d418618630d..3dfe92f0d67 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableReferenceRuleStatementUpdater.java
@@ -48,8 +48,8 @@ public final class DropShardingTableReferenceRuleStatementUpdater implements Rul
() -> new MissingRequiredRuleException("Sharding table reference", databaseName));
}
- private void checkToBeDroppedShardingTableReferenceRules(final String databaseName, final DropShardingTableReferenceRuleStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkToBeDroppedShardingTableReferenceRules(final String databaseName,
+ final DropShardingTableReferenceRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
if (sqlStatement.isIfExists()) {
return;
}
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
index f8e7e774f0c..7bd18bb1d5e 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/update/DropShardingTableRuleStatementUpdater.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sharding.distsql.handler.update;
import com.google.common.base.Splitter;
import org.apache.shardingsphere.distsql.handler.exception.rule.MissingRequiredRuleException;
-import org.apache.shardingsphere.distsql.handler.exception.rule.RuleDefinitionViolationException;
import org.apache.shardingsphere.distsql.handler.exception.rule.RuleInUsedException;
import org.apache.shardingsphere.distsql.handler.update.RuleDefinitionDropUpdater;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
@@ -42,8 +41,7 @@ import java.util.stream.Collectors;
public final class DropShardingTableRuleStatementUpdater extends AbstractDropShardingRuleUpdater implements RuleDefinitionDropUpdater<DropShardingTableRuleStatement, ShardingRuleConfiguration> {
@Override
- public void checkSQLStatement(final ShardingSphereDatabase database,
- final DropShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) throws RuleDefinitionViolationException {
+ public void checkSQLStatement(final ShardingSphereDatabase database, final DropShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
if (!isExistRuleConfig(currentRuleConfig) && sqlStatement.isIfExists()) {
return;
}
@@ -53,7 +51,7 @@ public final class DropShardingTableRuleStatementUpdater extends AbstractDropSha
checkBindingTables(databaseName, sqlStatement, currentRuleConfig);
}
- private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkCurrentRuleConfiguration(final String databaseName, final ShardingRuleConfiguration currentRuleConfig) {
ShardingSpherePreconditions.checkNotNull(currentRuleConfig, () -> new MissingRequiredRuleException("Sharding", databaseName));
}
@@ -61,8 +59,7 @@ public final class DropShardingTableRuleStatementUpdater extends AbstractDropSha
return sqlStatement.getTableNames().stream().map(each -> each.getIdentifier().getValue()).collect(Collectors.toList());
}
- private void checkToBeDroppedShardingTableNames(final String databaseName, final DropShardingTableRuleStatement sqlStatement,
- final ShardingRuleConfiguration currentRuleConfig) throws MissingRequiredRuleException {
+ private void checkToBeDroppedShardingTableNames(final String databaseName, final DropShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
if (sqlStatement.isIfExists()) {
return;
}
@@ -83,7 +80,7 @@ public final class DropShardingTableRuleStatementUpdater extends AbstractDropSha
return result;
}
- private void checkBindingTables(final String databaseName, final DropShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) throws RuleInUsedException {
+ private void checkBindingTables(final String databaseName, final DropShardingTableRuleStatement sqlStatement, final ShardingRuleConfiguration currentRuleConfig) {
Collection<String> bindingTables = getBindingTables(currentRuleConfig);
Collection<String> usedTableNames = getToBeDroppedShardingTableNames(sqlStatement).stream().filter(each -> containsIgnoreCase(bindingTables, each)).collect(Collectors.toList());
if (!usedTableNames.isEmpty()) {
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/type/hikari/HikariDataSourcePoolPropertiesValidator.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/type/hikari/HikariDataSourcePoolPropertiesValidator.java
index fb5576e1d51..e361276639e 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/type/hikari/HikariDataSourcePoolPropertiesValidator.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/datasource/pool/metadata/type/hikari/HikariDataSourcePoolPropertiesValidator.java
@@ -36,13 +36,13 @@ public final class HikariDataSourcePoolPropertiesValidator implements DataSource
private static final long KEEP_ALIVE_TIME_FLOOR = TimeUnit.SECONDS.toMillis(30);
@Override
- public void validateProperties(final DataSourceProperties dataSourceProps) throws IllegalArgumentException {
+ public void validateProperties(final DataSourceProperties dataSourceProps) {
validateConnectionTimeout(dataSourceProps);
validateIdleTimeout(dataSourceProps);
validateMaxLifetime(dataSourceProps);
validateMaximumPoolSize(dataSourceProps);
validateMinimumIdle(dataSourceProps);
- validateKeepaliveTime(dataSourceProps);
+ validateKeepAliveTime(dataSourceProps);
}
private void validateConnectionTimeout(final DataSourceProperties dataSourceProps) {
@@ -86,15 +86,15 @@ public final class HikariDataSourcePoolPropertiesValidator implements DataSource
ShardingSpherePreconditions.checkState(minimumIdle >= 0, () -> new IllegalArgumentException("minimumIdle cannot be negative"));
}
- private void validateKeepaliveTime(final DataSourceProperties dataSourceProps) {
+ private void validateKeepAliveTime(final DataSourceProperties dataSourceProps) {
if (!checkValueExist(dataSourceProps, "keepaliveTime")) {
return;
}
- int keepaliveTime = Integer.parseInt(dataSourceProps.getAllLocalProperties().get("keepaliveTime").toString());
- if (keepaliveTime == 0) {
+ int keepAliveTime = Integer.parseInt(dataSourceProps.getAllLocalProperties().get("keepaliveTime").toString());
+ if (keepAliveTime == 0) {
return;
}
- ShardingSpherePreconditions.checkState(keepaliveTime >= KEEP_ALIVE_TIME_FLOOR,
+ ShardingSpherePreconditions.checkState(keepAliveTime >= KEEP_ALIVE_TIME_FLOOR,
() -> new IllegalArgumentException(String.format("keepaliveTime cannot be less than %sms", KEEP_ALIVE_TIME_FLOOR)));
}
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/PipelineJobAPI.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/PipelineJobAPI.java
index 252a8f80df4..dea027322cc 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/PipelineJobAPI.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/PipelineJobAPI.java
@@ -28,7 +28,6 @@ import org.apache.shardingsphere.data.pipeline.api.job.PipelineJobId;
import org.apache.shardingsphere.data.pipeline.api.job.progress.PipelineJobItemProgress;
import org.apache.shardingsphere.data.pipeline.api.pojo.PipelineJobInfo;
import org.apache.shardingsphere.data.pipeline.core.context.PipelineContextKey;
-import org.apache.shardingsphere.data.pipeline.core.exception.job.PipelineJobNotFoundException;
import org.apache.shardingsphere.data.pipeline.spi.job.JobType;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
@@ -110,9 +109,8 @@ public interface PipelineJobAPI extends TypedSPI {
*
* @param jobId job id
* @return job configuration
- * @throws PipelineJobNotFoundException job not found
*/
- PipelineJobConfiguration getJobConfiguration(String jobId) throws PipelineJobNotFoundException;
+ PipelineJobConfiguration getJobConfiguration(String jobId);
/**
* Get pipeline job info.
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractPipelineJobAPIImpl.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractPipelineJobAPIImpl.java
index e60dced8736..47ca9669e75 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractPipelineJobAPIImpl.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/api/impl/AbstractPipelineJobAPIImpl.java
@@ -106,14 +106,14 @@ public abstract class AbstractPipelineJobAPIImpl implements PipelineJobAPI {
result.setJobParameter(YamlEngine.marshal(swapToYamlJobConfiguration(jobConfig)));
String createTimeFormat = LocalDateTime.now().format(DATE_TIME_FORMATTER);
result.getProps().setProperty("create_time", createTimeFormat);
- result.getProps().setProperty("start_time_millis", System.currentTimeMillis() + "");
+ result.getProps().setProperty("start_time_millis", String.valueOf(System.currentTimeMillis()));
result.setJobListenerTypes(Collections.singletonList(PipelineElasticJobListener.class.getName()));
return result;
}
protected abstract YamlPipelineJobConfiguration swapToYamlJobConfiguration(PipelineJobConfiguration jobConfig);
- protected abstract PipelineJobConfiguration getJobConfiguration(JobConfigurationPOJO jobConfigPOJO) throws PipelineJobNotFoundException;
+ protected abstract PipelineJobConfiguration getJobConfiguration(JobConfigurationPOJO jobConfigPOJO);
@Override
public void startDisabledJob(final String jobId) {
@@ -122,7 +122,7 @@ public abstract class AbstractPipelineJobAPIImpl implements PipelineJobAPI {
JobConfigurationPOJO jobConfigPOJO = getElasticJobConfigPOJO(jobId);
ShardingSpherePreconditions.checkState(jobConfigPOJO.isDisabled(), () -> new PipelineJobHasAlreadyStartedException(jobId));
jobConfigPOJO.setDisabled(false);
- jobConfigPOJO.getProps().setProperty("start_time_millis", System.currentTimeMillis() + "");
+ jobConfigPOJO.getProps().setProperty("start_time_millis", String.valueOf(System.currentTimeMillis()));
jobConfigPOJO.getProps().remove("stop_time");
jobConfigPOJO.getProps().remove("stop_time_millis");
String barrierEnablePath = PipelineMetaDataNode.getJobBarrierEnablePath(jobId);
@@ -141,7 +141,7 @@ public abstract class AbstractPipelineJobAPIImpl implements PipelineJobAPI {
}
jobConfigPOJO.setDisabled(true);
jobConfigPOJO.getProps().setProperty("stop_time", LocalDateTime.now().format(DATE_TIME_FORMATTER));
- jobConfigPOJO.getProps().setProperty("stop_time_millis", System.currentTimeMillis() + "");
+ jobConfigPOJO.getProps().setProperty("stop_time_millis", String.valueOf(System.currentTimeMillis()));
String barrierPath = PipelineMetaDataNode.getJobBarrierDisablePath(jobId);
pipelineDistributedBarrier.register(barrierPath, jobConfigPOJO.getShardingTotalCount());
PipelineAPIFactory.getJobConfigurationAPI(PipelineJobIdUtils.parseContextKey(jobId)).updateJobConfiguration(jobConfigPOJO);
@@ -154,7 +154,7 @@ public abstract class AbstractPipelineJobAPIImpl implements PipelineJobAPI {
PipelineAPIFactory.getGovernanceRepositoryAPI(contextKey).deleteJob(jobId);
}
- protected final JobConfigurationPOJO getElasticJobConfigPOJO(final String jobId) throws PipelineJobNotFoundException {
+ protected final JobConfigurationPOJO getElasticJobConfigPOJO(final String jobId) {
JobConfigurationPOJO result = PipelineAPIFactory.getJobConfigurationAPI(PipelineJobIdUtils.parseContextKey(jobId)).getJobConfiguration(jobId);
ShardingSpherePreconditions.checkNotNull(result, () -> new PipelineJobNotFoundException(jobId));
return result;
diff --git a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoder.java b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoder.java
index 0f2d6d9cd04..0edbb5a3682 100644
--- a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoder.java
+++ b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/client/netty/MySQLBinlogEventPacketDecoder.java
@@ -121,10 +121,8 @@ public final class MySQLBinlogEventPacketDecoder extends ByteToMessageDecoder {
String sqlState = payload.readStringFix(5);
throw new RuntimeException(String.format("Decode binlog event failed, errorCode: %d, sqlState: %s, errorMessage: %s", errorNo, sqlState, payload.readStringEOF()));
}
- if (0 != statusCode) {
- if (log.isDebugEnabled()) {
- log.debug("Illegal binlog status code {}, remaining packet \n{}", statusCode, readRemainPacket(payload));
- }
+ if (0 != statusCode && log.isDebugEnabled()) {
+ log.debug("Illegal binlog status code {}, remaining packet \n{}", statusCode, readRemainPacket(payload));
}
}
diff --git a/kernel/global-clock/type/tso/provider/redis/src/main/java/org/apache/shardingsphere/globalclock/type/tso/provider/RedisTSOProvider.java b/kernel/global-clock/type/tso/provider/redis/src/main/java/org/apache/shardingsphere/globalclock/type/tso/provider/RedisTSOProvider.java
index 0efda5cd594..f423463e7bf 100644
--- a/kernel/global-clock/type/tso/provider/redis/src/main/java/org/apache/shardingsphere/globalclock/type/tso/provider/RedisTSOProvider.java
+++ b/kernel/global-clock/type/tso/provider/redis/src/main/java/org/apache/shardingsphere/globalclock/type/tso/provider/RedisTSOProvider.java
@@ -22,7 +22,6 @@ import lombok.extern.slf4j.Slf4j;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
-import redis.clients.jedis.exceptions.JedisConnectionException;
import java.util.Properties;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -64,7 +63,7 @@ public final class RedisTSOProvider implements TSOProvider {
getValue(props, RedisTSOPropertyKey.PASSWORD));
}
- private void checkJedisPool() throws JedisConnectionException {
+ private void checkJedisPool() {
try (Jedis jedis = jedisPool.getResource()) {
jedis.ping();
}
@@ -84,21 +83,17 @@ public final class RedisTSOProvider implements TSOProvider {
}
@Override
- public long getCurrentTimestamp() throws JedisConnectionException {
- long result;
+ public long getCurrentTimestamp() {
try (Jedis jedis = jedisPool.getResource()) {
- result = Long.parseLong(jedis.get(CSN_KEY));
+ return Long.parseLong(jedis.get(CSN_KEY));
}
- return result;
}
@Override
- public long getNextTimestamp() throws JedisConnectionException {
- long result;
+ public long getNextTimestamp() {
try (Jedis jedis = jedisPool.getResource()) {
- result = jedis.incr(CSN_KEY);
+ return jedis.incr(CSN_KEY);
}
- return result;
}
@Override
diff --git a/kernel/sql-translator/api/src/main/java/org/apache/shardingsphere/sqltranslator/spi/SQLTranslator.java b/kernel/sql-translator/api/src/main/java/org/apache/shardingsphere/sqltranslator/spi/SQLTranslator.java
index 62573e09cee..1430f8abc4c 100644
--- a/kernel/sql-translator/api/src/main/java/org/apache/shardingsphere/sqltranslator/spi/SQLTranslator.java
+++ b/kernel/sql-translator/api/src/main/java/org/apache/shardingsphere/sqltranslator/spi/SQLTranslator.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.util.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPI;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqltranslator.exception.SQLTranslationException;
/**
* SQL translator.
@@ -37,7 +36,6 @@ public interface SQLTranslator extends TypedSPI {
* @param protocolType protocol type
* @param storageType storage type
* @return translated SQL
- * @throws SQLTranslationException SQL translation exception
*/
- String translate(String sql, SQLStatement sqlStatement, DatabaseType protocolType, DatabaseType storageType) throws SQLTranslationException;
+ String translate(String sql, SQLStatement sqlStatement, DatabaseType protocolType, DatabaseType storageType);
}
diff --git a/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/fixture/AlwaysFailedSQLTranslator.java b/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/fixture/AlwaysFailedSQLTranslator.java
index c7b0865caae..81d34a05905 100644
--- a/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/fixture/AlwaysFailedSQLTranslator.java
+++ b/kernel/sql-translator/core/src/test/java/org/apache/shardingsphere/sqltranslator/rule/fixture/AlwaysFailedSQLTranslator.java
@@ -19,14 +19,13 @@ package org.apache.shardingsphere.sqltranslator.rule.fixture;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqltranslator.exception.SQLTranslationException;
import org.apache.shardingsphere.sqltranslator.exception.syntax.UnsupportedTranslatedDatabaseException;
import org.apache.shardingsphere.sqltranslator.spi.SQLTranslator;
public final class AlwaysFailedSQLTranslator implements SQLTranslator {
@Override
- public String translate(final String sql, final SQLStatement sqlStatement, final DatabaseType protocolType, final DatabaseType storageType) throws SQLTranslationException {
+ public String translate(final String sql, final SQLStatement sqlStatement, final DatabaseType protocolType, final DatabaseType storageType) {
throw new UnsupportedTranslatedDatabaseException(storageType);
}
diff --git a/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQDialectRegistry.java b/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQDialectRegistry.java
index 33d95f82ce2..b35ebd84b32 100644
--- a/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQDialectRegistry.java
+++ b/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQDialectRegistry.java
@@ -22,7 +22,6 @@ import lombok.NoArgsConstructor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.util.exception.ShardingSpherePreconditions;
import org.apache.shardingsphere.infra.util.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.sqltranslator.exception.SQLTranslationException;
import org.apache.shardingsphere.sqltranslator.exception.syntax.UnsupportedTranslatedDatabaseException;
import org.jooq.SQLDialect;
@@ -51,9 +50,8 @@ public final class JooQDialectRegistry {
*
* @param databaseType database type
* @return SQL dialect
- * @throws SQLTranslationException SQL translation exception
*/
- public static SQLDialect getSQLDialect(final DatabaseType databaseType) throws SQLTranslationException {
+ public static SQLDialect getSQLDialect(final DatabaseType databaseType) {
SQLDialect result = DATABASE_DIALECT_MAP.get(databaseType);
ShardingSpherePreconditions.checkState(null != result, () -> new UnsupportedTranslatedDatabaseException(databaseType));
return result;
diff --git a/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQSQLTranslator.java b/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQSQLTranslator.java
index a2129f05715..278ed347ab3 100644
--- a/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQSQLTranslator.java
+++ b/kernel/sql-translator/provider/jooq/src/main/java/org/apache/shardingsphere/sqltranslator/jooq/JooQSQLTranslator.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.sqltranslator.jooq;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqltranslator.exception.SQLTranslationException;
import org.apache.shardingsphere.sqltranslator.exception.syntax.UnsupportedTranslatedSQLException;
import org.apache.shardingsphere.sqltranslator.spi.SQLTranslator;
import org.jooq.Query;
@@ -31,7 +30,7 @@ import org.jooq.impl.DSL;
public final class JooQSQLTranslator implements SQLTranslator {
@Override
- public String translate(final String sql, final SQLStatement statement, final DatabaseType protocolType, final DatabaseType storageType) throws SQLTranslationException {
+ public String translate(final String sql, final SQLStatement statement, final DatabaseType protocolType, final DatabaseType storageType) {
try {
Query query = DSL.using(JooQDialectRegistry.getSQLDialect(protocolType)).parser().parseQuery(sql);
return DSL.using(JooQDialectRegistry.getSQLDialect(storageType)).render(query);
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/cluster/watcher/ClusterStateChangedWatcher.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/cluster/watcher/ClusterStateChangedWatcher.java
index 715de6c90f8..e27a08ae76c 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/cluster/watcher/ClusterStateChangedWatcher.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/status/cluster/watcher/ClusterStateChangedWatcher.java
@@ -48,11 +48,8 @@ public final class ClusterStateChangedWatcher implements GovernanceWatcher<Gover
@Override
public Optional<GovernanceEvent> createGovernanceEvent(final DataChangedEvent event) {
String clusterStatus = ComputeNode.getClusterStatusNodePath();
- if (!Strings.isNullOrEmpty(clusterStatus)) {
- if (event.getKey().equals(ComputeNode.getClusterStatusNodePath()) && Type.DELETED != event.getType()) {
- return Optional.of(new ClusterStateEvent(event.getValue()));
- }
- }
- return Optional.empty();
+ return Strings.isNullOrEmpty(clusterStatus) || Type.DELETED == event.getType() || !event.getKey().equals(ComputeNode.getClusterStatusNodePath())
+ ? Optional.empty()
+ : Optional.of(new ClusterStateEvent(event.getValue()));
}
}
diff --git a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableUpdater.java b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableUpdater.java
index 3b42b1b3052..c50b3077b98 100644
--- a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableUpdater.java
+++ b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/ral/updatable/SetDistVariableUpdater.java
@@ -137,7 +137,7 @@ public final class SetDistVariableUpdater implements ConnectionSessionRequiredRA
}
}
- private TransactionType getTransactionType(final String transactionTypeName) throws UnsupportedVariableException {
+ private TransactionType getTransactionType(final String transactionTypeName) {
try {
return TransactionType.valueOf(transactionTypeName.toUpperCase());
} catch (final IllegalArgumentException ignored) {
diff --git a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserErrorListener.java b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserErrorListener.java
index f57af0e40c0..f576b26a813 100644
--- a/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserErrorListener.java
+++ b/sql-parser/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/parser/SQLParserErrorListener.java
@@ -43,7 +43,7 @@ public final class SQLParserErrorListener extends BaseErrorListener {
@Override
public void syntaxError(final Recognizer<?, ?> recognizer, final Object offendingSymbol, final int line, final int charPositionInLine,
- final String message, final RecognitionException e) throws ParseCancellationException {
+ final String message, final RecognitionException e) {
throw new ParseCancellationException(message + " at line " + line + ", position " + charPositionInLine + ", near " + offendingSymbol);
}
}
diff --git a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
index f4706f8ad7a..c137c0e6e3e 100644
--- a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
+++ b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
@@ -126,11 +126,9 @@ public final class TableExtractor {
}
private void extractTablesFromExpression(final ExpressionSegment expressionSegment) {
- if (expressionSegment instanceof ColumnSegment) {
- if (((ColumnSegment) expressionSegment).getOwner().isPresent() && needRewrite(((ColumnSegment) expressionSegment).getOwner().get())) {
- OwnerSegment ownerSegment = ((ColumnSegment) expressionSegment).getOwner().get();
- rewriteTables.add(new SimpleTableSegment(new TableNameSegment(ownerSegment.getStartIndex(), ownerSegment.getStopIndex(), ownerSegment.getIdentifier())));
- }
+ if (expressionSegment instanceof ColumnSegment && ((ColumnSegment) expressionSegment).getOwner().isPresent() && needRewrite(((ColumnSegment) expressionSegment).getOwner().get())) {
+ OwnerSegment ownerSegment = ((ColumnSegment) expressionSegment).getOwner().get();
+ rewriteTables.add(new SimpleTableSegment(new TableNameSegment(ownerSegment.getStartIndex(), ownerSegment.getStopIndex(), ownerSegment.getIdentifier())));
}
if (expressionSegment instanceof ListExpression) {
for (ExpressionSegment each : ((ListExpression) expressionSegment).getItems()) {
diff --git a/src/resources/pmd.xml b/src/resources/pmd.xml
index 61d67827204..ccf92f81a30 100644
--- a/src/resources/pmd.xml
+++ b/src/resources/pmd.xml
@@ -76,16 +76,31 @@
<rule ref="category/java/codestyle.xml/UseDiamondOperator" />
<rule ref="category/java/codestyle.xml/UseShortArrayInitializer" />
- <rule ref="category/java/documentation.xml/CommentSize">
+ <rule ref="category/java/design.xml/AvoidThrowingNewInstanceOfSameException" />
+ <rule ref="category/java/design.xml/AvoidThrowingNullPointerException" />
+ <rule ref="category/java/design.xml/AvoidThrowingRawExceptionTypes" />
+ <rule ref="category/java/design.xml/AvoidUncheckedExceptionsInSignatures" />
+ <rule ref="category/java/design.xml/CognitiveComplexity" />
+ <rule ref="category/java/design.xml/CollapsibleIfStatements" />
+ <rule ref="category/java/design.xml/CouplingBetweenObjects" />
+ <rule ref="category/java/design.xml/DataClass" />
+ <rule ref="category/java/design.xml/ExceptionAsFlowControl" />
+ <rule ref="category/java/design.xml/GodClass" />
+ <rule ref="category/java/design.xml/ImmutableField" />
+ <rule ref="category/java/design.xml/MutableStaticState" />
+ <rule ref="category/java/design.xml/SignatureDeclareThrowsException" />
+ <rule ref="category/java/design.xml/SimplifyBooleanExpressions" />
+ <rule ref="category/java/design.xml/UseObjectForClearerAPI" />
+ <rule ref="category/java/design.xml/UseUtilityClass">
<properties>
- <property name="maxLines" value="40" />
- <property name="maxLineLength" value="200" />
+ <property name="ignoredAnnotations" value="lombok.NoArgsConstructor | org.springframework.boot.autoconfigure.SpringBootApplication" />
</properties>
</rule>
- <rule ref="category/java/design.xml/UseUtilityClass">
+ <rule ref="category/java/documentation.xml/CommentSize">
<properties>
- <property name="ignoredAnnotations" value="lombok.NoArgsConstructor | org.springframework.boot.autoconfigure.SpringBootApplication" />
+ <property name="maxLines" value="40" />
+ <property name="maxLineLength" value="200" />
</properties>
</rule>
diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
index 4b76c391497..fcc6dc2078d 100644
--- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
+++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/ExternalSQLParserIT.java
@@ -36,6 +36,7 @@ import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
import org.junit.jupiter.params.provider.ArgumentsSource;
+import java.io.IOException;
import java.net.URI;
import java.util.Collection;
import java.util.stream.Stream;
@@ -45,7 +46,7 @@ public abstract class ExternalSQLParserIT {
@ParameterizedTest(name = "{0} ({1}) -> {2}")
@EnabledIf("isEnabled")
@ArgumentsSource(TestCaseArgumentsProvider.class)
- void assertParseSQL(final String sqlCaseId, final String databaseType, final String sql, final String reportType) throws Exception {
+ void assertParseSQL(final String sqlCaseId, final String databaseType, final String sql, final String reportType) throws IOException {
boolean isSuccess = true;
try (SQLParseResultReporter resultReporter = TypedSPILoader.getService(SQLParseResultReporterCreator.class, reportType).create(databaseType)) {
try {
diff --git a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/result/SQLParseResultReporter.java b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/result/SQLParseResultReporter.java
index 6d8fc8a83f1..3d987e91af7 100644
--- a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/result/SQLParseResultReporter.java
+++ b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/external/result/SQLParseResultReporter.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.test.it.sql.parser.external.result;
+import java.io.IOException;
+
/**
* SQL parse result reporter.
*/
@@ -31,4 +33,7 @@ public interface SQLParseResultReporter extends AutoCloseable {
* @param isSuccess whether success
*/
void printResult(String sqlCaseId, String databaseType, boolean isSuccess, String sql);
+
+ @Override
+ void close() throws IOException;
}