You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/12/21 08:53:24 UTC

[shardingsphere] branch master updated: Refactor DistSQL visitors (#23011)

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

jianglongtao 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 daf568ecad5 Refactor DistSQL visitors (#23011)
daf568ecad5 is described below

commit daf568ecad544e311f440b348476bbfd18c9be98
Author: Zichao <57...@users.noreply.github.com>
AuthorDate: Wed Dec 21 21:53:18 2022 +1300

    Refactor DistSQL visitors (#23011)
    
    * Refactor DistSQL visitors
    
    * Refactor DistSQL visitors
---
 .../core/kernel/KernelDistSQLStatementVisitor.java | 32 +++++-----------------
 .../core/ShardingDistSQLStatementVisitor.java      | 12 +++-----
 .../core/MigrationDistSQLStatementVisitor.java     | 13 +++------
 .../core/TrafficDistSQLStatementVisitor.java       |  5 +---
 .../core/TransactionDistSQLStatementVisitor.java   |  8 ++----
 5 files changed, 18 insertions(+), 52 deletions(-)

diff --git a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
index 21696a0fddb..d9eec33dfae 100644
--- a/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
+++ b/distsql/parser/src/main/java/org/apache/shardingsphere/distsql/parser/core/kernel/KernelDistSQLStatementVisitor.java
@@ -139,15 +139,9 @@ public final class KernelDistSQLStatementVisitor extends KernelDistSQLStatementB
         String user = getIdentifierValue(ctx.user());
         String password = null == ctx.password() ? "" : getPassword(ctx.password());
         Properties props = getProperties(ctx.propertiesDefinition());
-        DataSourceSegment result = null;
-        if (null != ctx.urlSource()) {
-            result = new URLBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.urlSource().url()), user, password, props);
-        }
-        if (null != ctx.simpleSource()) {
-            result = new HostnameAndPortBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.simpleSource().hostname()), ctx.simpleSource().port().getText(),
-                    getIdentifierValue(ctx.simpleSource().dbName()), user, password, props);
-        }
-        return result;
+        return null != ctx.urlSource() ? new URLBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.urlSource().url()), user, password, props)
+                : new HostnameAndPortBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.simpleSource().hostname()),
+                        ctx.simpleSource().port().getText(), getIdentifierValue(ctx.simpleSource().dbName()), user, password, props);
     }
     
     private String getPassword(final PasswordContext ctx) {
@@ -365,10 +359,7 @@ public final class KernelDistSQLStatementVisitor extends KernelDistSQLStatementB
     }
     
     private AlgorithmSegment getAlgorithmSegment(final RateLimiterContext ctx) {
-        if (null == ctx) {
-            return null;
-        }
-        return (AlgorithmSegment) visit(ctx);
+        return null == ctx ? null : (AlgorithmSegment) visit(ctx);
     }
     
     @Override
@@ -388,24 +379,15 @@ public final class KernelDistSQLStatementVisitor extends KernelDistSQLStatementB
     }
     
     private Integer getWorkerThread(final WorkerThreadContext ctx) {
-        if (null == ctx) {
-            return null;
-        }
-        return Integer.parseInt(ctx.intValue().getText());
+        return null == ctx ? null : Integer.parseInt(ctx.intValue().getText());
     }
     
     private Integer getBatchSize(final BatchSizeContext ctx) {
-        if (null == ctx) {
-            return null;
-        }
-        return Integer.parseInt(ctx.intValue().getText());
+        return null == ctx ? null : Integer.parseInt(ctx.intValue().getText());
     }
     
     private Integer getShardingSize(final ShardingSizeContext ctx) {
-        if (null == ctx) {
-            return null;
-        }
-        return Integer.parseInt(ctx.intValue().getText());
+        return null == ctx ? null : Integer.parseInt(ctx.intValue().getText());
     }
     
     @Override
diff --git a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 56721c93224..14ef66815d2 100644
--- a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++ b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -190,10 +190,9 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
     @Override
     public ASTNode visitCreateDefaultShardingStrategy(final CreateDefaultShardingStrategyContext ctx) {
         ShardingStrategyContext shardingStrategyContext = ctx.shardingStrategy();
-        AlgorithmSegment algorithmSegment = null;
-        if (null != shardingStrategyContext.shardingAlgorithm().algorithmDefinition()) {
-            algorithmSegment = (AlgorithmSegment) visitAlgorithmDefinition(shardingStrategyContext.shardingAlgorithm().algorithmDefinition());
-        }
+        AlgorithmSegment algorithmSegment = null != shardingStrategyContext.shardingAlgorithm().algorithmDefinition()
+                ? (AlgorithmSegment) visitAlgorithmDefinition(shardingStrategyContext.shardingAlgorithm().algorithmDefinition())
+                : null;
         String defaultType = new IdentifierValue(ctx.type.getText()).getValue();
         String strategyType = getIdentifierValue(shardingStrategyContext.strategyType());
         String shardingColumn = buildShardingColumn(ctx.shardingStrategy().shardingColumnDefinition());
@@ -325,10 +324,7 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
         if (null == ctx) {
             return null;
         }
-        AlgorithmSegment algorithmSegment = null;
-        if (null != ctx.shardingAlgorithm().algorithmDefinition()) {
-            algorithmSegment = (AlgorithmSegment) visitAlgorithmDefinition(ctx.shardingAlgorithm().algorithmDefinition());
-        }
+        AlgorithmSegment algorithmSegment = null != ctx.shardingAlgorithm().algorithmDefinition() ? (AlgorithmSegment) visitAlgorithmDefinition(ctx.shardingAlgorithm().algorithmDefinition()) : null;
         return new ShardingStrategySegment(getIdentifierValue(ctx.strategyType()), buildShardingColumn(ctx.shardingColumnDefinition()), algorithmSegment);
     }
     
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
index 910f1074e19..2e22d740296 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
@@ -143,15 +143,10 @@ public final class MigrationDistSQLStatementVisitor extends MigrationDistSQLStat
         String user = getIdentifierValue(ctx.user());
         String password = null == ctx.password() ? "" : getPassword(ctx.password());
         Properties props = getProperties(ctx.propertiesDefinition());
-        DataSourceSegment result = null;
-        if (null != ctx.urlSource()) {
-            result = new URLBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.urlSource().url()), user, password, props);
-        }
-        if (null != ctx.simpleSource()) {
-            result = new HostnameAndPortBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()), getIdentifierValue(ctx.simpleSource().hostname()), ctx.simpleSource().port().getText(),
-                    getIdentifierValue(ctx.simpleSource().dbName()), user, password, props);
-        }
-        return result;
+        return null != ctx.urlSource() ? new URLBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()),
+                getIdentifierValue(ctx.urlSource().url()), user, password, props)
+                : new HostnameAndPortBasedDataSourceSegment(getIdentifierValue(ctx.storageUnitName()),
+                        getIdentifierValue(ctx.simpleSource().hostname()), ctx.simpleSource().port().getText(), getIdentifierValue(ctx.simpleSource().dbName()), user, password, props);
     }
     
     private String getPassword(final PasswordContext ctx) {
diff --git a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
index f3e63116c66..123ee1134d4 100644
--- a/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
+++ b/kernel/traffic/distsql/parser/src/main/java/org/apache/shardingsphere/traffic/distsql/parser/core/TrafficDistSQLStatementVisitor.java
@@ -61,10 +61,7 @@ public final class TrafficDistSQLStatementVisitor extends TrafficDistSQLStatemen
     
     @Override
     public ASTNode visitTrafficRuleDefinition(final TrafficRuleDefinitionContext ctx) {
-        AlgorithmSegment loadBalancerSegment = null;
-        if (null != ctx.loadBalancerDefinition()) {
-            loadBalancerSegment = (AlgorithmSegment) visit(ctx.loadBalancerDefinition().algorithmDefinition());
-        }
+        AlgorithmSegment loadBalancerSegment = null != ctx.loadBalancerDefinition() ? (AlgorithmSegment) visit(ctx.loadBalancerDefinition().algorithmDefinition()) : null;
         return new TrafficRuleSegment(
                 getIdentifierValue(ctx.ruleName()), buildLabels(ctx.labelDefinition()), (AlgorithmSegment) visit(ctx.trafficAlgorithmDefinition().algorithmDefinition()), loadBalancerSegment);
     }
diff --git a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
index ba455d5015b..27f5a396105 100644
--- a/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
+++ b/kernel/transaction/distsql/parser/src/main/java/org/apache/shardingsphere/transaction/distsql/parser/core/TransactionDistSQLStatementVisitor.java
@@ -51,12 +51,8 @@ public final class TransactionDistSQLStatementVisitor extends TransactionDistSQL
     
     @Override
     public ASTNode visitTransactionRuleDefinition(final TransactionRuleDefinitionContext ctx) {
-        String defaultType = getIdentifierValue(ctx.defaultType());
-        if (null == ctx.providerDefinition()) {
-            return new AlterTransactionRuleStatement(defaultType, new TransactionProviderSegment(null, null));
-        }
-        TransactionProviderSegment provider = (TransactionProviderSegment) visit(ctx.providerDefinition());
-        return new AlterTransactionRuleStatement(defaultType, provider);
+        return null == ctx.providerDefinition() ? new AlterTransactionRuleStatement(getIdentifierValue(ctx.defaultType()), new TransactionProviderSegment(null, null))
+                : new AlterTransactionRuleStatement(getIdentifierValue(ctx.defaultType()), (TransactionProviderSegment) visit(ctx.providerDefinition()));
     }
     
     @Override