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 9a9fb97f4d3 Add DistSQLSegment (#29694)
9a9fb97f4d3 is described below

commit 9a9fb97f4d370744b0b300733d931ef1c6e2acc4
Author: yx9o <[email protected]>
AuthorDate: Thu Jan 11 12:55:47 2024 +0800

    Add DistSQLSegment (#29694)
---
 .../encrypt/distsql/segment/EncryptColumnItemSegment.java  |  4 ++--
 .../encrypt/distsql/segment/EncryptColumnSegment.java      |  4 ++--
 .../encrypt/distsql/segment/EncryptRuleSegment.java        |  4 ++--
 .../mask/distsql/segment/MaskColumnSegment.java            |  4 ++--
 .../mask/distsql/segment/MaskRuleSegment.java              |  4 ++--
 .../distsql/segment/ReadwriteSplittingRuleSegment.java     |  4 ++--
 .../shadow/distsql/segment/ShadowAlgorithmSegment.java     |  4 ++--
 .../shadow/distsql/segment/ShadowRuleSegment.java          |  4 ++--
 .../distsql/segment/strategy/AuditStrategySegment.java     |  4 ++--
 .../segment/strategy/KeyGenerateStrategySegment.java       |  4 ++--
 .../distsql/segment/strategy/ShardingAuditorSegment.java   |  4 ++--
 .../distsql/segment/strategy/ShardingStrategySegment.java  |  4 ++--
 .../distsql/segment/table/AbstractTableRuleSegment.java    |  4 ++--
 .../distsql/segment/table/TableReferenceRuleSegment.java   |  6 +++---
 .../single/distsql/segment/SingleTableSegment.java         |  4 ++--
 .../sqlfederation/distsql/segment/CacheOptionSegment.java  |  4 ++--
 .../parser/distsql/segment/CacheOptionSegment.java         |  4 ++--
 .../traffic/distsql/segment/TrafficRuleSegment.java        |  4 ++--
 .../distsql/segment/TransactionProviderSegment.java        |  4 ++--
 .../shardingsphere/distsql/segment/AlgorithmSegment.java   |  3 +--
 .../shardingsphere/distsql/segment/DataSourceSegment.java  |  3 +--
 .../segment/{AlgorithmSegment.java => DistSQLSegment.java} | 14 ++------------
 .../shardingsphere/distsql/segment/ReadOrWriteSegment.java |  3 +--
 .../distsql/segment/TransmissionRuleSegment.java           |  3 +--
 24 files changed, 45 insertions(+), 59 deletions(-)

diff --git 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnItemSegment.java
 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnItemSegment.java
index 716caadcff4..922cd653042 100644
--- 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnItemSegment.java
+++ 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnItemSegment.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.encrypt.distsql.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Encrypt column item segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class EncryptColumnItemSegment implements ASTNode {
+public final class EncryptColumnItemSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnSegment.java
 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnSegment.java
index a67c3df9942..12ab46e4517 100644
--- 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnSegment.java
+++ 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptColumnSegment.java
@@ -19,14 +19,14 @@ package org.apache.shardingsphere.encrypt.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Encrypt column segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class EncryptColumnSegment implements ASTNode {
+public final class EncryptColumnSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptRuleSegment.java
 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptRuleSegment.java
index 7316b58a39b..471277bf22c 100644
--- 
a/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptRuleSegment.java
+++ 
b/features/encrypt/distsql/statement/src/main/java/org/apache/shardingsphere/encrypt/distsql/segment/EncryptRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.encrypt.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 
@@ -28,7 +28,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class EncryptRuleSegment implements ASTNode {
+public final class EncryptRuleSegment implements DistSQLSegment {
     
     private final String tableName;
     
diff --git 
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskColumnSegment.java
 
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskColumnSegment.java
index 2e6c45ce68b..d25c12b0e18 100644
--- 
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskColumnSegment.java
+++ 
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskColumnSegment.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.mask.distsql.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Mask column segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class MaskColumnSegment implements ASTNode {
+public final class MaskColumnSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskRuleSegment.java
 
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskRuleSegment.java
index 3c967e01b7c..8a81089eb26 100644
--- 
a/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskRuleSegment.java
+++ 
b/features/mask/distsql/statement/src/main/java/org/apache/shardingsphere/mask/distsql/segment/MaskRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.mask.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 
@@ -28,7 +28,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class MaskRuleSegment implements ASTNode {
+public final class MaskRuleSegment implements DistSQLSegment {
     
     private final String tableName;
     
diff --git 
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/segment/ReadwriteSplittingRuleSegment.java
 
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/segment/ReadwriteSplittingRuleSegment.java
index 1f79a78c0c4..1c2b2019bca 100644
--- 
a/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/segment/ReadwriteSplittingRuleSegment.java
+++ 
b/features/readwrite-splitting/distsql/statement/src/main/java/org/apache/shardingsphere/readwritesplitting/distsql/segment/ReadwriteSplittingRuleSegment.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.readwritesplitting.distsql.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 
@@ -29,7 +29,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class ReadwriteSplittingRuleSegment implements ASTNode {
+public final class ReadwriteSplittingRuleSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowAlgorithmSegment.java
 
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowAlgorithmSegment.java
index dfc9c8dd1b8..342fd99ff9c 100644
--- 
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowAlgorithmSegment.java
+++ 
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowAlgorithmSegment.java
@@ -20,14 +20,14 @@ package org.apache.shardingsphere.shadow.distsql.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Shadow algorithms segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShadowAlgorithmSegment implements ASTNode {
+public final class ShadowAlgorithmSegment implements DistSQLSegment {
     
     private final String algorithmName;
     
diff --git 
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowRuleSegment.java
 
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowRuleSegment.java
index d228f8e3cb1..d6ecc17ad8e 100644
--- 
a/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowRuleSegment.java
+++ 
b/features/shadow/distsql/statement/src/main/java/org/apache/shardingsphere/shadow/distsql/segment/ShadowRuleSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.shadow.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 import java.util.Map;
@@ -29,7 +29,7 @@ import java.util.Map;
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShadowRuleSegment implements ASTNode {
+public final class ShadowRuleSegment implements DistSQLSegment {
     
     private final String ruleName;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/AuditStrategySegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/AuditStrategySegment.java
index 63b4d5ddd81..1a06b9dc589 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/AuditStrategySegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/AuditStrategySegment.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.sharding.distsql.segment.strategy;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 
@@ -28,7 +28,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class AuditStrategySegment implements ASTNode {
+public final class AuditStrategySegment implements DistSQLSegment {
     
     private final Collection<ShardingAuditorSegment> auditorSegments;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/KeyGenerateStrategySegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/KeyGenerateStrategySegment.java
index f379b252cae..0f319d47d93 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/KeyGenerateStrategySegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/KeyGenerateStrategySegment.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.sharding.distsql.segment.strategy;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Key generate strategy segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class KeyGenerateStrategySegment implements ASTNode {
+public final class KeyGenerateStrategySegment implements DistSQLSegment {
     
     private final String keyGenerateColumn;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingAuditorSegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingAuditorSegment.java
index 15649c55009..b6f7849d6b2 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingAuditorSegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingAuditorSegment.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.sharding.distsql.segment.strategy;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Sharding auditor segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShardingAuditorSegment implements ASTNode {
+public final class ShardingAuditorSegment implements DistSQLSegment {
     
     private final String auditorName;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingStrategySegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingStrategySegment.java
index 201b8c06554..d7ee1e5118b 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingStrategySegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/strategy/ShardingStrategySegment.java
@@ -20,14 +20,14 @@ package 
org.apache.shardingsphere.sharding.distsql.segment.strategy;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Sharding strategy segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ShardingStrategySegment implements ASTNode {
+public final class ShardingStrategySegment implements DistSQLSegment {
     
     private final String type;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/AbstractTableRuleSegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/AbstractTableRuleSegment.java
index b0b76e97b35..d1a4c8ee8f0 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/AbstractTableRuleSegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/AbstractTableRuleSegment.java
@@ -21,9 +21,9 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 import 
org.apache.shardingsphere.sharding.distsql.segment.strategy.AuditStrategySegment;
 import 
org.apache.shardingsphere.sharding.distsql.segment.strategy.KeyGenerateStrategySegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Collection;
 
@@ -34,7 +34,7 @@ import java.util.Collection;
 @RequiredArgsConstructor
 @Getter
 @Setter
-public abstract class AbstractTableRuleSegment implements ASTNode {
+public abstract class AbstractTableRuleSegment implements DistSQLSegment {
     
     private final String logicTable;
     
diff --git 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/TableReferenceRuleSegment.java
 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/TableReferenceRuleSegment.java
index 0ef0bcb6734..6b4171017fe 100644
--- 
a/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/TableReferenceRuleSegment.java
+++ 
b/features/sharding/distsql/statement/src/main/java/org/apache/shardingsphere/sharding/distsql/segment/table/TableReferenceRuleSegment.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.sharding.distsql.segment.table;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
  */
 @RequiredArgsConstructor
 @Getter
-public final class TableReferenceRuleSegment implements ASTNode {
+public final class TableReferenceRuleSegment implements DistSQLSegment {
     
     private final String name;
     
@@ -38,7 +38,7 @@ public final class TableReferenceRuleSegment implements 
ASTNode {
     
     /**
      * Get table names.
-     * 
+     *
      * @return table names
      */
     public Collection<String> getTableNames() {
diff --git 
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/segment/SingleTableSegment.java
 
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/segment/SingleTableSegment.java
index 4e6a210c0b5..21629d49adb 100644
--- 
a/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/segment/SingleTableSegment.java
+++ 
b/kernel/single/distsql/statement/src/main/java/org/apache/shardingsphere/single/distsql/segment/SingleTableSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.single.distsql.segment;
 import com.google.common.base.Objects;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Optional;
 
@@ -29,7 +29,7 @@ import java.util.Optional;
  */
 @RequiredArgsConstructor
 @Getter
-public final class SingleTableSegment implements ASTNode {
+public final class SingleTableSegment implements DistSQLSegment {
     
     private final String storageUnitName;
     
diff --git 
a/kernel/sql-federation/distsql/statement/src/main/java/org/apache/shardingsphere/sqlfederation/distsql/segment/CacheOptionSegment.java
 
b/kernel/sql-federation/distsql/statement/src/main/java/org/apache/shardingsphere/sqlfederation/distsql/segment/CacheOptionSegment.java
index 7f3a4ea1b59..e54dab73c5f 100644
--- 
a/kernel/sql-federation/distsql/statement/src/main/java/org/apache/shardingsphere/sqlfederation/distsql/segment/CacheOptionSegment.java
+++ 
b/kernel/sql-federation/distsql/statement/src/main/java/org/apache/shardingsphere/sqlfederation/distsql/segment/CacheOptionSegment.java
@@ -19,14 +19,14 @@ package 
org.apache.shardingsphere.sqlfederation.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Cache option segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CacheOptionSegment implements ASTNode {
+public final class CacheOptionSegment implements DistSQLSegment {
     
     private final Integer initialCapacity;
     
diff --git 
a/kernel/sql-parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/segment/CacheOptionSegment.java
 
b/kernel/sql-parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/segment/CacheOptionSegment.java
index 1380612cb42..9d46b507843 100644
--- 
a/kernel/sql-parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/segment/CacheOptionSegment.java
+++ 
b/kernel/sql-parser/distsql/statement/src/main/java/org/apache/shardingsphere/parser/distsql/segment/CacheOptionSegment.java
@@ -19,14 +19,14 @@ package org.apache.shardingsphere.parser.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 /**
  * Cache option segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class CacheOptionSegment implements ASTNode {
+public final class CacheOptionSegment implements DistSQLSegment {
     
     private final Integer initialCapacity;
     
diff --git 
a/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/segment/TrafficRuleSegment.java
 
b/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/segment/TrafficRuleSegment.java
index b118f774a2d..00a35f49328 100644
--- 
a/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/segment/TrafficRuleSegment.java
+++ 
b/kernel/traffic/distsql/statement/src/main/java/org/apache/shardingsphere/traffic/distsql/segment/TrafficRuleSegment.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.traffic.distsql.segment;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.distsql.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Collection;
 
@@ -29,7 +29,7 @@ import java.util.Collection;
  */
 @RequiredArgsConstructor
 @Getter
-public final class TrafficRuleSegment implements ASTNode {
+public final class TrafficRuleSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/segment/TransactionProviderSegment.java
 
b/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/segment/TransactionProviderSegment.java
index cc937b5e064..695b3b34f0d 100644
--- 
a/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/segment/TransactionProviderSegment.java
+++ 
b/kernel/transaction/distsql/statement/src/main/java/org/apache/shardingsphere/transaction/distsql/segment/TransactionProviderSegment.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.transaction.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
+import org.apache.shardingsphere.distsql.segment.DistSQLSegment;
 
 import java.util.Properties;
 
@@ -28,7 +28,7 @@ import java.util.Properties;
  */
 @RequiredArgsConstructor
 @Getter
-public final class TransactionProviderSegment implements ASTNode {
+public final class TransactionProviderSegment implements DistSQLSegment {
     
     private final String providerType;
     
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
index 6d9c17b5988..75d79e4d324 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Properties;
 
@@ -28,7 +27,7 @@ import java.util.Properties;
  */
 @RequiredArgsConstructor
 @Getter
-public final class AlgorithmSegment implements ASTNode {
+public final class AlgorithmSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DataSourceSegment.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DataSourceSegment.java
index 6bea868fcf8..58776b25e8d 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DataSourceSegment.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DataSourceSegment.java
@@ -19,7 +19,6 @@ package org.apache.shardingsphere.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 import java.util.Properties;
 
@@ -28,7 +27,7 @@ import java.util.Properties;
  */
 @RequiredArgsConstructor
 @Getter
-public class DataSourceSegment implements ASTNode {
+public class DataSourceSegment implements DistSQLSegment {
     
     private final String name;
     
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DistSQLSegment.java
similarity index 76%
copy from 
parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
copy to 
parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DistSQLSegment.java
index 6d9c17b5988..e5f99960d51 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/AlgorithmSegment.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/DistSQLSegment.java
@@ -17,20 +17,10 @@
 
 package org.apache.shardingsphere.distsql.segment;
 
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
-import java.util.Properties;
-
 /**
- * Algorithm segment.
+ * DistSQL segment.
  */
-@RequiredArgsConstructor
-@Getter
-public final class AlgorithmSegment implements ASTNode {
-    
-    private final String name;
-    
-    private final Properties props;
+public interface DistSQLSegment extends ASTNode {
 }
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/ReadOrWriteSegment.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/ReadOrWriteSegment.java
index 214fc7f34f8..5e2a504886d 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/ReadOrWriteSegment.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/ReadOrWriteSegment.java
@@ -19,14 +19,13 @@ package org.apache.shardingsphere.distsql.segment;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Read or Write configuration segment.
  */
 @RequiredArgsConstructor
 @Getter
-public final class ReadOrWriteSegment implements ASTNode {
+public final class ReadOrWriteSegment implements DistSQLSegment {
     
     private final Integer workerThread;
     
diff --git 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/TransmissionRuleSegment.java
 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/TransmissionRuleSegment.java
index 79abb764fd1..ef5d8c6204d 100644
--- 
a/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/TransmissionRuleSegment.java
+++ 
b/parser/distsql/statement/src/main/java/org/apache/shardingsphere/distsql/segment/TransmissionRuleSegment.java
@@ -19,14 +19,13 @@ package org.apache.shardingsphere.distsql.segment;
 
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.api.ASTNode;
 
 /**
  * Transmission rule segment.
  */
 @Getter
 @Setter
-public final class TransmissionRuleSegment implements ASTNode {
+public final class TransmissionRuleSegment implements DistSQLSegment {
     
     private ReadOrWriteSegment readSegment;
     

Reply via email to