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

sunnianjun 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 fc9fba3cb7d Fix code inspection for parser module (#31212)
fc9fba3cb7d is described below

commit fc9fba3cb7d8924b703d3c26808f8a93edb9c0a9
Author: Liang Zhang <[email protected]>
AuthorDate: Sun May 12 11:28:39 2024 +0800

    Fix code inspection for parser module (#31212)
    
    * Refactor Fix code inspection for kernel module
    
    * Refactor Fix code inspection for mode module
    
    * Refactor Fix code inspection for parser module
---
 .../shardingsphere/distsql/segment/ReadOrWriteSegment.java |  2 +-
 .../mysql/visitor/statement/MySQLStatementVisitor.java     |  7 +++----
 .../visitor/statement/type/MySQLDALStatementVisitor.java   |  2 +-
 .../visitor/statement/type/MySQLDMLStatementVisitor.java   |  6 +++---
 .../oracle/visitor/statement/OracleStatementVisitor.java   |  4 ++--
 .../sql92/visitor/statement/SQL92StatementVisitor.java     |  5 ++---
 .../visitor/statement/SQLServerStatementVisitor.java       |  5 ++---
 .../sql/parser/api/SQLParserExecutorTest.java              |  2 +-
 .../sql/parser/core/SQLParserEngineTest.java               |  2 +-
 .../core/database/cache/ParseTreeCacheBuilderTest.java     |  2 +-
 .../sql/parser/sql/common/enums/DirectionType.java         |  4 ++--
 .../dml/expr/simple/ParameterMarkerExpressionSegment.java  |  2 +-
 .../dml/item/AggregationDistinctProjectionSegment.java     |  2 +-
 .../common/segment/dml/item/DatetimeProjectionSegment.java |  2 +-
 .../segment/dml/item/ExpressionProjectionSegment.java      |  2 +-
 .../dml/order/item/ExpressionOrderByItemSegment.java       |  2 +-
 .../pagination/limit/ParameterMarkerLimitValueSegment.java |  2 +-
 .../rownum/ParameterMarkerRowNumberValueSegment.java       |  2 +-
 .../parser/sql/common/segment/generic/PivotSegment.java    |  2 +-
 .../segment/generic/bounded/ColumnSegmentBoundedInfo.java  |  6 +++---
 .../sql/parser/sql/common/util/ColumnExtractor.java        |  2 +-
 .../sql/parser/sql/common/util/ExpressionExtractUtils.java | 14 +++++++-------
 .../dialect/handler/ddl/CreateTableStatementHandler.java   |  2 +-
 .../segment/oracle/datetime/DatetimeExpression.java        |  2 +-
 .../dialect/segment/oracle/xml/XmlPiFunctionSegment.java   |  4 ++--
 .../statement/oracle/plsql/ProcedureCallNameSegment.java   |  2 +-
 .../sql/parser/sql/common/util/SQLUtilsTest.java           |  4 ++--
 .../sql/common/util/SafeNumberOperationUtilsTest.java      |  2 +-
 .../handler/ddl/CreateTableStatementHandlerTest.java       |  1 +
 .../dialect/handler/dml/DeleteStatementHandlerTest.java    |  4 ++++
 .../dialect/handler/dml/InsertStatementHandlerTest.java    |  9 +++++++++
 .../dialect/handler/dml/SelectStatementHandlerTest.java    | 14 ++++++++++++++
 32 files changed, 74 insertions(+), 49 deletions(-)

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 5e2a504886d..1b310b4e0ad 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
@@ -38,7 +38,7 @@ public final class ReadOrWriteSegment implements 
DistSQLSegment {
     public ReadOrWriteSegment(final Integer workerThread, final Integer 
batchSize, final AlgorithmSegment rateLimiter) {
         this.workerThread = workerThread;
         this.batchSize = batchSize;
-        this.shardingSize = 1000_0000;
+        shardingSize = 10000000;
         this.rateLimiter = rateLimiter;
     }
 }
diff --git 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
index db555edf20f..80975d48f93 100644
--- 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
+++ 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/MySQLStatementVisitor.java
@@ -442,8 +442,7 @@ public abstract class MySQLStatementVisitor extends 
MySQLStatementBaseVisitor<AS
             // TODO optimize operatorToken
             String rightText = "";
             if (null != ctx.NOT()) {
-                rightText = 
rightText.concat(ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(),
-                        ctx.NOT().getSymbol().getStopIndex()))).concat(" ");
+                rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(), 
ctx.NOT().getSymbol().getStopIndex())) + " ";
             }
             Token operatorToken = null;
             if (null != ctx.NULL()) {
@@ -456,7 +455,7 @@ public abstract class MySQLStatementVisitor extends 
MySQLStatementBaseVisitor<AS
                 operatorToken = ctx.FALSE().getSymbol();
             }
             int startIndex = null == operatorToken ? 
ctx.IS().getSymbol().getStopIndex() + 2 : operatorToken.getStartIndex();
-            rightText = 
rightText.concat(ctx.start.getInputStream().getText(new Interval(startIndex, 
ctx.stop.getStopIndex())));
+            rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(startIndex, ctx.stop.getStopIndex()));
             ExpressionSegment right = new 
LiteralExpressionSegment(ctx.IS().getSymbol().getStopIndex() + 2, 
ctx.stop.getStopIndex(), rightText);
             String text = ctx.start.getInputStream().getText(new 
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
             ExpressionSegment left = (ExpressionSegment) 
visit(ctx.booleanPrimary());
@@ -656,7 +655,7 @@ public abstract class MySQLStatementVisitor extends 
MySQLStatementBaseVisitor<AS
             ExpressionSegment left = (ExpressionSegment) 
visit(ctx.simpleExpr(0));
             ExpressionSegment right = (ExpressionSegment) 
visit(ctx.simpleExpr(1));
             String text = ctx.start.getInputStream().getText(new 
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
-            return new BinaryOperationExpression(ctx.start.getStartIndex(), 
ctx.stop.getStopIndex(), left, right, 
ctx.VERTICAL_BAR_(0).getText().concat(ctx.VERTICAL_BAR_(1).getText()), text);
+            return new BinaryOperationExpression(ctx.start.getStartIndex(), 
ctx.stop.getStopIndex(), left, right, ctx.VERTICAL_BAR_(0).getText() + 
ctx.VERTICAL_BAR_(1).getText(), text);
         }
         return visitRemainSimpleExpr(ctx);
     }
diff --git 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
index 0c6e3365c13..154aa876442 100644
--- 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
+++ 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDALStatementVisitor.java
@@ -475,7 +475,7 @@ public final class MySQLDALStatementVisitor extends 
MySQLStatementVisitor implem
     public ASTNode visitKill(final KillContext ctx) {
         MySQLKillStatement result = new MySQLKillStatement();
         if (null != ctx.AT_()) {
-            
result.setProcessId(ctx.AT_().getText().concat(ctx.IDENTIFIER_().getText()));
+            result.setProcessId(ctx.AT_().getText() + 
ctx.IDENTIFIER_().getText());
         } else {
             result.setProcessId(ctx.IDENTIFIER_().getText());
         }
diff --git 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementVisitor.java
 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementVisitor.java
index b6ca42d8630..dffa3a770f0 100644
--- 
a/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementVisitor.java
+++ 
b/parser/sql/dialect/mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/type/MySQLDMLStatementVisitor.java
@@ -61,18 +61,18 @@ public final class MySQLDMLStatementVisitor extends 
MySQLStatementVisitor implem
     
     @Override
     public ASTNode visitCall(final CallContext ctx) {
-        List<ExpressionSegment> params = new ArrayList<>();
+        List<ExpressionSegment> params = new ArrayList<>(ctx.expr().size());
         ctx.expr().forEach(each -> params.add((ExpressionSegment) 
visit(each)));
         String procedureName = ctx.identifier().getText();
         if (null != ctx.owner()) {
-            procedureName = 
ctx.owner().getText().concat(".").concat(procedureName);
+            procedureName = ctx.owner().getText() + "." + procedureName;
         }
         return new MySQLCallStatement(procedureName, params);
     }
     
     @Override
     public ASTNode visitDoStatement(final DoStatementContext ctx) {
-        List<ExpressionSegment> params = new ArrayList<>();
+        List<ExpressionSegment> params = new ArrayList<>(ctx.expr().size());
         ctx.expr().forEach(each -> params.add((ExpressionSegment) 
visit(each)));
         return new MySQLDoStatement(params);
     }
diff --git 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitor.java
 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitor.java
index 3c7d51575b4..0b171b968ef 100644
--- 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitor.java
+++ 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/OracleStatementVisitor.java
@@ -474,7 +474,7 @@ public abstract class OracleStatementVisitor extends 
OracleStatementBaseVisitor<
         if (null != ctx.IS()) {
             String rightText = "";
             if (null != ctx.NOT()) {
-                rightText = 
rightText.concat(ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(), 
ctx.NOT().getSymbol().getStopIndex()))).concat(" ");
+                rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(), 
ctx.NOT().getSymbol().getStopIndex())) + " ";
             }
             Token operatorToken = null;
             if (null != ctx.NULL()) {
@@ -487,7 +487,7 @@ public abstract class OracleStatementVisitor extends 
OracleStatementBaseVisitor<
                 operatorToken = ctx.FALSE().getSymbol();
             }
             int startIndex = null == operatorToken ? 
ctx.IS().getSymbol().getStopIndex() + 2 : operatorToken.getStartIndex();
-            rightText = 
rightText.concat(ctx.start.getInputStream().getText(new Interval(startIndex, 
ctx.stop.getStopIndex())));
+            rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(startIndex, ctx.stop.getStopIndex()));
             ExpressionSegment right = new 
LiteralExpressionSegment(ctx.IS().getSymbol().getStopIndex() + 2, 
ctx.stop.getStopIndex(), rightText);
             String text = ctx.start.getInputStream().getText(new 
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
             ExpressionSegment left = (ExpressionSegment) 
visit(ctx.booleanPrimary());
diff --git 
a/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitor.java
 
b/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitor.java
index 763ea8313c8..8fc60033c8a 100644
--- 
a/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitor.java
+++ 
b/parser/sql/dialect/sql92/src/main/java/org/apache/shardingsphere/sql/parser/sql92/visitor/statement/SQL92StatementVisitor.java
@@ -255,8 +255,7 @@ public abstract class SQL92StatementVisitor extends 
SQL92StatementBaseVisitor<AS
         if (null != ctx.IS()) {
             String rightText = "";
             if (null != ctx.NOT()) {
-                rightText = 
rightText.concat(ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(),
-                        ctx.NOT().getSymbol().getStopIndex()))).concat(" ");
+                rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(), 
ctx.NOT().getSymbol().getStopIndex())) + " ";
             }
             Token operatorToken = null;
             if (null != ctx.NULL()) {
@@ -269,7 +268,7 @@ public abstract class SQL92StatementVisitor extends 
SQL92StatementBaseVisitor<AS
                 operatorToken = ctx.FALSE().getSymbol();
             }
             int startIndex = null == operatorToken ? 
ctx.IS().getSymbol().getStopIndex() + 2 : operatorToken.getStartIndex();
-            rightText = 
rightText.concat(ctx.start.getInputStream().getText(new Interval(startIndex, 
ctx.stop.getStopIndex())));
+            rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(startIndex, ctx.stop.getStopIndex()));
             ExpressionSegment right = new 
LiteralExpressionSegment(ctx.IS().getSymbol().getStopIndex() + 2, 
ctx.stop.getStopIndex(), rightText);
             String text = ctx.start.getInputStream().getText(new 
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
             ExpressionSegment left = (ExpressionSegment) 
visit(ctx.booleanPrimary());
diff --git 
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
 
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
index 85442cf0ae0..d4c0de15619 100644
--- 
a/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
+++ 
b/parser/sql/dialect/sqlserver/src/main/java/org/apache/shardingsphere/sql/parser/sqlserver/visitor/statement/SQLServerStatementVisitor.java
@@ -454,8 +454,7 @@ public abstract class SQLServerStatementVisitor extends 
SQLServerStatementBaseVi
         if (null != ctx.IS()) {
             String rightText = "";
             if (null != ctx.NOT()) {
-                rightText = 
rightText.concat(ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(),
-                        ctx.NOT().getSymbol().getStopIndex()))).concat(" ");
+                rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(ctx.NOT().getSymbol().getStartIndex(), 
ctx.NOT().getSymbol().getStopIndex())) + " ";
             }
             Token operatorToken = null;
             if (null != ctx.NULL()) {
@@ -468,7 +467,7 @@ public abstract class SQLServerStatementVisitor extends 
SQLServerStatementBaseVi
                 operatorToken = ctx.FALSE().getSymbol();
             }
             int startIndex = null == operatorToken ? 
ctx.IS().getSymbol().getStopIndex() + 2 : operatorToken.getStartIndex();
-            rightText = 
rightText.concat(ctx.start.getInputStream().getText(new Interval(startIndex, 
ctx.stop.getStopIndex())));
+            rightText = rightText + ctx.start.getInputStream().getText(new 
Interval(startIndex, ctx.stop.getStopIndex()));
             ExpressionSegment right = new 
LiteralExpressionSegment(ctx.IS().getSymbol().getStopIndex() + 2, 
ctx.stop.getStopIndex(), rightText);
             String text = ctx.start.getInputStream().getText(new 
Interval(ctx.start.getStartIndex(), ctx.stop.getStopIndex()));
             ExpressionSegment left = (ExpressionSegment) 
visit(ctx.booleanPrimary());
diff --git 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
index 865e830620e..8353acb7924 100644
--- 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
+++ 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/api/SQLParserExecutorTest.java
@@ -44,7 +44,7 @@ class SQLParserExecutorTest {
         SQLParserEngine sqlParserEngine = new SQLParserEngine("FIXTURE", 
cacheOption);
         
Plugins.getMemberAccessor().set(sqlParserEngine.getClass().getDeclaredField("sqlParserExecutor"),
 sqlParserEngine, sqlParserExecutor);
         LoadingCache<String, ParseASTNode> parseTreeCache = 
Caffeine.newBuilder().softValues().initialCapacity(128)
-                .maximumSize(1024).build(new CacheLoader<String, 
ParseASTNode>() {
+                .maximumSize(1024L).build(new CacheLoader<String, 
ParseASTNode>() {
                     
                     @ParametersAreNonnullByDefault
                     @Override
diff --git 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
index bf77d9d7fa9..457cb5ec679 100644
--- 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
+++ 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/SQLParserEngineTest.java
@@ -37,7 +37,7 @@ class SQLParserEngineTest {
         SQLParserExecutor sqlParserExecutor = mock(SQLParserExecutor.class);
         when(sqlParserExecutor.parse("")).thenReturn(mock(ParseASTNode.class));
         LoadingCache<String, ParseASTNode> parseTreeCache = 
Caffeine.newBuilder().softValues()
-                .initialCapacity(128).maximumSize(1024).build(new 
CacheLoader<String, ParseASTNode>() {
+                .initialCapacity(128).maximumSize(1024L).build(new 
CacheLoader<String, ParseASTNode>() {
                     
                     @ParametersAreNonnullByDefault
                     @Override
diff --git 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
index 033d3875e77..09159bb0a98 100644
--- 
a/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
+++ 
b/parser/sql/engine/src/test/java/org/apache/shardingsphere/sql/parser/core/database/cache/ParseTreeCacheBuilderTest.java
@@ -31,7 +31,7 @@ class ParseTreeCacheBuilderTest {
     
     @Test
     void assertParseTreeCacheBuild() {
-        LoadingCache<String, ParseASTNode> cache = 
ParseTreeCacheBuilder.build(new CacheOption(1, 10), 
TypedSPILoader.getService(DatabaseType.class, "FIXTURE"));
+        LoadingCache<String, ParseASTNode> cache = 
ParseTreeCacheBuilder.build(new CacheOption(1, 10L), 
TypedSPILoader.getService(DatabaseType.class, "FIXTURE"));
         assertThat(cache, isA(LoadingCache.class));
     }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/DirectionType.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/DirectionType.java
index 6bc1c68a3ac..975d68b4b74 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/DirectionType.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/enums/DirectionType.java
@@ -60,9 +60,9 @@ public enum DirectionType {
     
     private static final Collection<DirectionType> ALL_DIRECTION_TYPES = 
EnumSet.of(ALL, FORWARD_ALL, BACKWARD_ALL);
     
-    private static final Collection<DirectionType> 
FORWARD_COUNT_DIRECTION_TYPES = EnumSet.of(DirectionType.NEXT, 
DirectionType.COUNT, DirectionType.FORWARD, DirectionType.FORWARD_COUNT);
+    private static final Collection<DirectionType> 
FORWARD_COUNT_DIRECTION_TYPES = EnumSet.of(NEXT, COUNT, FORWARD, FORWARD_COUNT);
     
-    private static final Collection<DirectionType> 
BACKWARD_COUNT_DIRECTION_TYPES = EnumSet.of(DirectionType.PRIOR, 
DirectionType.BACKWARD, DirectionType.BACKWARD_COUNT);
+    private static final Collection<DirectionType> 
BACKWARD_COUNT_DIRECTION_TYPES = EnumSet.of(PRIOR, BACKWARD, BACKWARD_COUNT);
     
     private final String name;
     
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/simple/ParameterMarkerExpressionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/simple/ParameterMarkerExpressionSegment.java
index a48fdf770c0..c34830b6ecf 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/simple/ParameterMarkerExpressionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/expr/simple/ParameterMarkerExpressionSegment.java
@@ -57,7 +57,7 @@ public class ParameterMarkerExpressionSegment implements 
SimpleExpressionSegment
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.parameterMarkerIndex = parameterMarkerIndex;
-        this.parameterMarkerType = ParameterMarkerType.QUESTION;
+        parameterMarkerType = ParameterMarkerType.QUESTION;
     }
     
     @Override
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/AggregationDistinctProjectionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/AggregationDistinctProjectionSegment.java
index da026540516..3c65312c44a 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/AggregationDistinctProjectionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/AggregationDistinctProjectionSegment.java
@@ -31,6 +31,6 @@ public final class AggregationDistinctProjectionSegment 
extends AggregationProje
     
     public AggregationDistinctProjectionSegment(final int startIndex, final 
int stopIndex, final AggregationType type, final String expression, final 
String distinctExpression) {
         super(startIndex, stopIndex, type, expression);
-        this.distinctInnerExpression = 
SQLUtils.getExpressionWithoutOutsideParentheses(distinctExpression);
+        distinctInnerExpression = 
SQLUtils.getExpressionWithoutOutsideParentheses(distinctExpression);
     }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/DatetimeProjectionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/DatetimeProjectionSegment.java
index 042e6e67001..1cd4879b685 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/DatetimeProjectionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/DatetimeProjectionSegment.java
@@ -50,7 +50,7 @@ public final class DatetimeProjectionSegment implements 
ProjectionSegment {
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.left = left;
-        this.right = null;
+        right = null;
         this.text = text;
     }
     
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/ExpressionProjectionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/ExpressionProjectionSegment.java
index 9b171ecff9f..361410f92ba 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/ExpressionProjectionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/item/ExpressionProjectionSegment.java
@@ -49,7 +49,7 @@ public final class ExpressionProjectionSegment implements 
ProjectionSegment, Com
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.text = SQLUtils.getExpressionWithoutOutsideParentheses(text);
-        this.expr = null;
+        expr = null;
     }
     
     public ExpressionProjectionSegment(final int startIndex, final int 
stopIndex, final String text, final ExpressionSegment expr) {
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/order/item/ExpressionOrderByItemSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/order/item/ExpressionOrderByItemSegment.java
index 63ab787b17d..f5dba0ff261 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/order/item/ExpressionOrderByItemSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/order/item/ExpressionOrderByItemSegment.java
@@ -35,7 +35,7 @@ public final class ExpressionOrderByItemSegment extends 
TextOrderByItemSegment {
     public ExpressionOrderByItemSegment(final int startIndex, final int 
stopIndex, final String expression, final OrderDirection orderDirection, final 
NullsOrderType nullsOrderType) {
         super(startIndex, stopIndex, orderDirection, nullsOrderType);
         this.expression = expression;
-        this.expr = null;
+        expr = null;
     }
     
     public ExpressionOrderByItemSegment(final int startIndex, final int 
stopIndex, final String expression, final OrderDirection orderDirection, final 
NullsOrderType nullsOrderType,
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/limit/ParameterMarkerLimitValueSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/limit/ParameterMarkerLimitValueSegment.java
index ac6c4f3629e..90530b6cd4e 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/limit/ParameterMarkerLimitValueSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/limit/ParameterMarkerLimitValueSegment.java
@@ -40,7 +40,7 @@ public final class ParameterMarkerLimitValueSegment extends 
LimitValueSegment im
     
     public ParameterMarkerLimitValueSegment(final int startIndex, final int 
stopIndex, final int paramIndex) {
         super(startIndex, stopIndex);
-        this.parameterIndex = paramIndex;
+        parameterIndex = paramIndex;
     }
     
     @Override
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/rownum/ParameterMarkerRowNumberValueSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/rownum/ParameterMarkerRowNumberValueSegment.java
index f4114dee9a7..0e51d08872f 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/rownum/ParameterMarkerRowNumberValueSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/dml/pagination/rownum/ParameterMarkerRowNumberValueSegment.java
@@ -40,7 +40,7 @@ public final class ParameterMarkerRowNumberValueSegment 
extends RowNumberValueSe
     
     public ParameterMarkerRowNumberValueSegment(final int startIndex, final 
int stopIndex, final int paramIndex, final boolean boundOpened) {
         super(startIndex, stopIndex, boundOpened);
-        this.parameterIndex = paramIndex;
+        parameterIndex = paramIndex;
     }
     
     @Override
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/PivotSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/PivotSegment.java
index 8dcea1768a2..308d21cb40d 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/PivotSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/PivotSegment.java
@@ -51,7 +51,7 @@ public final class PivotSegment implements SQLSegment {
         this.stopIndex = stopIndex;
         this.pivotForColumn = pivotForColumn;
         this.pivotInColumns = pivotInColumns;
-        this.isUnPivot = false;
+        isUnPivot = false;
     }
     
     /**
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/bounded/ColumnSegmentBoundedInfo.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/bounded/ColumnSegmentBoundedInfo.java
index b3232f8a2ec..d39daf2eb98 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/bounded/ColumnSegmentBoundedInfo.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/segment/generic/bounded/ColumnSegmentBoundedInfo.java
@@ -37,9 +37,9 @@ public final class ColumnSegmentBoundedInfo {
     private final IdentifierValue originalColumn;
     
     public ColumnSegmentBoundedInfo(final IdentifierValue originalColumn) {
-        this.originalDatabase = new IdentifierValue("");
-        this.originalSchema = new IdentifierValue("");
-        this.originalTable = new IdentifierValue("");
+        originalDatabase = new IdentifierValue("");
+        originalSchema = new IdentifierValue("");
+        originalTable = new IdentifierValue("");
         this.originalColumn = originalColumn;
     }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ColumnExtractor.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ColumnExtractor.java
index db9175d5d06..95acdbc2504 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ColumnExtractor.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ColumnExtractor.java
@@ -102,7 +102,7 @@ public final class ColumnExtractor {
     
     private static void extractColumnSegments(final Collection<ColumnSegment> 
columnSegments, final AndPredicate andPredicate) {
         for (ExpressionSegment each : andPredicate.getPredicates()) {
-            columnSegments.addAll(ColumnExtractor.extract(each));
+            columnSegments.addAll(extract(each));
         }
     }
     
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ExpressionExtractUtils.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ExpressionExtractUtils.java
index 1ba74ee51d9..5b0f8a1f592 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ExpressionExtractUtils.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/util/ExpressionExtractUtils.java
@@ -118,24 +118,24 @@ public final class ExpressionExtractUtils {
         return result;
     }
     
-    private static void extractParameterMarkerExpressions(final 
List<ParameterMarkerExpressionSegment> result, final 
Collection<ExpressionSegment> expressions) {
+    private static void extractParameterMarkerExpressions(final 
List<ParameterMarkerExpressionSegment> segments, final 
Collection<ExpressionSegment> expressions) {
         for (ExpressionSegment each : expressions) {
             if (each instanceof ParameterMarkerExpressionSegment) {
-                result.add((ParameterMarkerExpressionSegment) each);
+                segments.add((ParameterMarkerExpressionSegment) each);
             }
             // TODO support more expression type if necessary
             if (each instanceof BinaryOperationExpression) {
-                extractParameterMarkerExpressions(result, 
Collections.singleton(((BinaryOperationExpression) each).getLeft()));
-                extractParameterMarkerExpressions(result, 
Collections.singleton(((BinaryOperationExpression) each).getRight()));
+                extractParameterMarkerExpressions(segments, 
Collections.singleton(((BinaryOperationExpression) each).getLeft()));
+                extractParameterMarkerExpressions(segments, 
Collections.singleton(((BinaryOperationExpression) each).getRight()));
             }
             if (each instanceof FunctionSegment) {
-                extractParameterMarkerExpressions(result, ((FunctionSegment) 
each).getParameters());
+                extractParameterMarkerExpressions(segments, ((FunctionSegment) 
each).getParameters());
             }
             if (each instanceof TypeCastExpression) {
-                extractParameterMarkerExpressions(result, 
Collections.singleton(((TypeCastExpression) each).getExpression()));
+                extractParameterMarkerExpressions(segments, 
Collections.singleton(((TypeCastExpression) each).getExpression()));
             }
             if (each instanceof InExpression) {
-                extractParameterMarkerExpressions(result, ((InExpression) 
each).getExpressionList());
+                extractParameterMarkerExpressions(segments, ((InExpression) 
each).getExpressionList());
             }
         }
     }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandler.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandler.java
index b1b8ae3dd53..5ca79cb28e5 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandler.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandler.java
@@ -71,7 +71,7 @@ public final class CreateTableStatementHandler implements 
SQLStatementHandler {
      */
     public static Optional<SelectStatement> getSelectStatement(final 
CreateTableStatement createTableStatement) {
         if (createTableStatement instanceof SQLServerStatement) {
-            return ((SQLServerCreateTableStatement) 
createTableStatement).getSelectStatement();
+            return createTableStatement.getSelectStatement();
         }
         return Optional.empty();
     }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/datetime/DatetimeExpression.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/datetime/DatetimeExpression.java
index b0fecc81e69..7ea9261a3dd 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/datetime/DatetimeExpression.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/datetime/DatetimeExpression.java
@@ -50,7 +50,7 @@ public final class DatetimeExpression implements 
ExpressionSegment {
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.left = left;
-        this.right = null;
+        right = null;
         this.text = text;
     }
 }
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/xml/XmlPiFunctionSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/xml/XmlPiFunctionSegment.java
index 5e476d187b6..5e1f33330f0 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/xml/XmlPiFunctionSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/segment/oracle/xml/XmlPiFunctionSegment.java
@@ -48,7 +48,7 @@ public final class XmlPiFunctionSegment implements 
ComplexExpressionSegment, Pro
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.functionName = functionName;
-        this.evalNameValueExpr = null;
+        evalNameValueExpr = null;
         this.identifier = identifier;
         this.valueExpr = valueExpr;
         this.text = text;
@@ -58,7 +58,7 @@ public final class XmlPiFunctionSegment implements 
ComplexExpressionSegment, Pro
         this.startIndex = startIndex;
         this.stopIndex = stopIndex;
         this.functionName = functionName;
-        this.identifier = null;
+        identifier = null;
         this.evalNameValueExpr = evalNameValueExpr;
         this.valueExpr = valueExpr;
         this.text = text;
diff --git 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/plsql/ProcedureCallNameSegment.java
 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/plsql/ProcedureCallNameSegment.java
index a38503a91a4..dfac016d964 100644
--- 
a/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/plsql/ProcedureCallNameSegment.java
+++ 
b/parser/sql/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/oracle/plsql/ProcedureCallNameSegment.java
@@ -48,6 +48,6 @@ public final class ProcedureCallNameSegment implements 
SQLSegment {
     
     @Override
     public String toString() {
-        return getPackageSegment().map(s -> 
s.getIdentifier().getValueWithQuoteCharacters() + ".").orElse("") + 
identifier.getValueWithQuoteCharacters();
+        return getPackageSegment().map(optional -> 
optional.getIdentifier().getValueWithQuoteCharacters() + ".").orElse("") + 
identifier.getValueWithQuoteCharacters();
     }
 }
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtilsTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtilsTest.java
index 6c8571ffc3e..6f1e8717734 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtilsTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SQLUtilsTest.java
@@ -48,8 +48,8 @@ class SQLUtilsTest {
     void assertGetExactlyNumberForBigInteger() {
         assertThat(SQLUtils.getExactlyNumber("10000000000000000000", 10), 
is(new BigInteger("10000000000000000000")));
         assertThat(SQLUtils.getExactlyNumber("10000000000000000000", 16), 
is(new BigInteger("75557863725914323419136")));
-        assertThat(SQLUtils.getExactlyNumber(String.valueOf(Long.MIN_VALUE + 
1), 10), is(Long.MIN_VALUE + 1));
-        assertThat(SQLUtils.getExactlyNumber(String.valueOf(Long.MAX_VALUE - 
1), 10), is(Long.MAX_VALUE - 1));
+        assertThat(SQLUtils.getExactlyNumber(String.valueOf(Long.MIN_VALUE + 
1L), 10), is(Long.MIN_VALUE + 1L));
+        assertThat(SQLUtils.getExactlyNumber(String.valueOf(Long.MAX_VALUE - 
1L), 10), is(Long.MAX_VALUE - 1L));
     }
     
     @Test
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtilsTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtilsTest.java
index fbce8ddc9f3..55c7468c5ce 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtilsTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/util/SafeNumberOperationUtilsTest.java
@@ -194,7 +194,7 @@ class SafeNumberOperationUtilsTest {
     @Test
     void assertSafeCollectionEqualsForBigInteger() {
         List<Comparable<?>> sources = Arrays.asList(10, 12);
-        List<Comparable<?>> targets = Arrays.asList(BigInteger.valueOf(10), 
BigInteger.valueOf(12L));
+        List<Comparable<?>> targets = Arrays.asList(BigInteger.valueOf(10L), 
BigInteger.valueOf(12L));
         assertTrue(SafeNumberOperationUtils.safeCollectionEquals(sources, 
targets));
     }
     
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
index 36d1bb6c32f..7406868382d 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/ddl/CreateTableStatementHandlerTest.java
@@ -58,6 +58,7 @@ class CreateTableStatementHandlerTest {
         sqlServerCreateTableStatement.setSelectStatement(new 
SQLServerSelectStatement());
         Optional<SelectStatement> actual = 
CreateTableStatementHandler.getSelectStatement(sqlServerCreateTableStatement);
         assertTrue(actual.isPresent());
+        
assertTrue(sqlServerCreateTableStatement.getSelectStatement().isPresent());
         assertThat(actual.get(), 
is(sqlServerCreateTableStatement.getSelectStatement().get()));
         assertFalse(CreateTableStatementHandler.getSelectStatement(new 
MySQLCreateTableStatement(false)).isPresent());
         assertFalse(CreateTableStatementHandler.getSelectStatement(new 
OpenGaussCreateTableStatement(false)).isPresent());
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/DeleteStatementHandlerTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/DeleteStatementHandlerTest.java
index b5e1d77fd29..23d9bd69121 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/DeleteStatementHandlerTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/DeleteStatementHandlerTest.java
@@ -46,6 +46,7 @@ class DeleteStatementHandlerTest {
         deleteStatement.setOrderBy(new OrderBySegment(0, 0, 
Collections.emptyList()));
         Optional<OrderBySegment> orderBySegment = 
DeleteStatementHandler.getOrderBySegment(deleteStatement);
         assertTrue(orderBySegment.isPresent());
+        assertTrue(deleteStatement.getOrderBy().isPresent());
         assertThat(orderBySegment.get(), 
is(deleteStatement.getOrderBy().get()));
         assertFalse(DeleteStatementHandler.getOrderBySegment(new 
MySQLDeleteStatement()).isPresent());
     }
@@ -65,6 +66,7 @@ class DeleteStatementHandlerTest {
         deleteStatement.setLimit(new LimitSegment(0, 0, null, null));
         Optional<LimitSegment> limitSegment = 
DeleteStatementHandler.getLimitSegment(deleteStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(deleteStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(deleteStatement.getLimit().get()));
         assertFalse(DeleteStatementHandler.getLimitSegment(new 
MySQLDeleteStatement()).isPresent());
     }
@@ -84,6 +86,7 @@ class DeleteStatementHandlerTest {
         deleteStatement.setOutputSegment(new OutputSegment(0, 0));
         Optional<OutputSegment> outputSegment = 
DeleteStatementHandler.getOutputSegment(deleteStatement);
         assertTrue(outputSegment.isPresent());
+        assertTrue(deleteStatement.getOutputSegment().isPresent());
         assertThat(outputSegment.get(), 
is(deleteStatement.getOutputSegment().get()));
         assertFalse(DeleteStatementHandler.getOutputSegment(new 
SQLServerDeleteStatement()).isPresent());
     }
@@ -103,6 +106,7 @@ class DeleteStatementHandlerTest {
         deleteStatement.setWithSegment(new WithSegment(0, 0, new 
LinkedList<>()));
         Optional<WithSegment> withSegment = 
DeleteStatementHandler.getWithSegment(deleteStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(deleteStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(deleteStatement.getWithSegment().get()));
         assertFalse(DeleteStatementHandler.getWithSegment(new 
SQLServerDeleteStatement()).isPresent());
     }
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/InsertStatementHandlerTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/InsertStatementHandlerTest.java
index bd539619bcb..55f439b6ff6 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/InsertStatementHandlerTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/InsertStatementHandlerTest.java
@@ -46,6 +46,7 @@ class InsertStatementHandlerTest {
         insertStatement.setOnDuplicateKeyColumns(new 
OnDuplicateKeyColumnsSegment(0, 0, Collections.emptyList()));
         Optional<OnDuplicateKeyColumnsSegment> onDuplicateKeyColumnsSegment = 
InsertStatementHandler.getOnDuplicateKeyColumnsSegment(insertStatement);
         assertTrue(onDuplicateKeyColumnsSegment.isPresent());
+        assertTrue(insertStatement.getOnDuplicateKeyColumns().isPresent());
         assertThat(onDuplicateKeyColumnsSegment.get(), 
is(insertStatement.getOnDuplicateKeyColumns().get()));
         assertFalse(InsertStatementHandler.getOnDuplicateKeyColumnsSegment(new 
MySQLInsertStatement()).isPresent());
     }
@@ -56,6 +57,7 @@ class InsertStatementHandlerTest {
         insertStatement.setOnDuplicateKeyColumnsSegment(new 
OnDuplicateKeyColumnsSegment(0, 0, Collections.emptyList()));
         Optional<OnDuplicateKeyColumnsSegment> onDuplicateKeyColumnsSegment = 
InsertStatementHandler.getOnDuplicateKeyColumnsSegment(insertStatement);
         assertTrue(onDuplicateKeyColumnsSegment.isPresent());
+        assertTrue(insertStatement.getOnDuplicateKeyColumns().isPresent());
         assertThat(onDuplicateKeyColumnsSegment.get(), 
is(insertStatement.getOnDuplicateKeyColumns().get()));
         assertFalse(InsertStatementHandler.getOnDuplicateKeyColumnsSegment(new 
OpenGaussInsertStatement()).isPresent());
     }
@@ -66,6 +68,7 @@ class InsertStatementHandlerTest {
         insertStatement.setOnDuplicateKeyColumnsSegment(new 
OnDuplicateKeyColumnsSegment(0, 0, Collections.emptyList()));
         Optional<OnDuplicateKeyColumnsSegment> onDuplicateKeyColumnsSegment = 
InsertStatementHandler.getOnDuplicateKeyColumnsSegment(insertStatement);
         assertTrue(onDuplicateKeyColumnsSegment.isPresent());
+        assertTrue(insertStatement.getOnDuplicateKeyColumns().isPresent());
         assertThat(onDuplicateKeyColumnsSegment.get(), 
is(insertStatement.getOnDuplicateKeyColumns().get()));
         assertFalse(InsertStatementHandler.getOnDuplicateKeyColumnsSegment(new 
PostgreSQLInsertStatement()).isPresent());
     }
@@ -83,6 +86,7 @@ class InsertStatementHandlerTest {
         insertStatement.setSetAssignment(new SetAssignmentSegment(0, 0, 
Collections.emptyList()));
         Optional<SetAssignmentSegment> setAssignmentSegment = 
InsertStatementHandler.getSetAssignmentSegment(insertStatement);
         assertTrue(setAssignmentSegment.isPresent());
+        assertTrue(insertStatement.getSetAssignment().isPresent());
         assertThat(setAssignmentSegment.get(), 
is(insertStatement.getSetAssignment().get()));
         assertFalse(InsertStatementHandler.getSetAssignmentSegment(new 
MySQLInsertStatement()).isPresent());
     }
@@ -102,6 +106,7 @@ class InsertStatementHandlerTest {
         insertStatement.setWithSegment(new WithSegment(0, 0, 
Collections.emptyList()));
         Optional<WithSegment> withSegment = 
InsertStatementHandler.getWithSegment(insertStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(insertStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(insertStatement.getWithSegment().get()));
         assertFalse(InsertStatementHandler.getWithSegment(new 
PostgreSQLInsertStatement()).isPresent());
     }
@@ -112,6 +117,7 @@ class InsertStatementHandlerTest {
         insertStatement.setWithSegment(new WithSegment(0, 0, 
Collections.emptyList()));
         Optional<WithSegment> withSegment = 
InsertStatementHandler.getWithSegment(insertStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(insertStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(insertStatement.getWithSegment().get()));
         assertFalse(InsertStatementHandler.getWithSegment(new 
SQLServerInsertStatement()).isPresent());
     }
@@ -122,6 +128,7 @@ class InsertStatementHandlerTest {
         insertStatement.setWithSegment(new WithSegment(0, 0, 
Collections.emptyList()));
         Optional<WithSegment> withSegment = 
InsertStatementHandler.getWithSegment(insertStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(insertStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(insertStatement.getWithSegment().get()));
         assertFalse(InsertStatementHandler.getWithSegment(new 
OpenGaussInsertStatement()).isPresent());
     }
@@ -139,6 +146,7 @@ class InsertStatementHandlerTest {
         insertStatement.setOutputSegment(new OutputSegment(0, 0));
         Optional<OutputSegment> outputSegment = 
InsertStatementHandler.getOutputSegment(insertStatement);
         assertTrue(outputSegment.isPresent());
+        assertTrue(insertStatement.getOutputSegment().isPresent());
         assertThat(outputSegment.get(), 
is(insertStatement.getOutputSegment().get()));
         assertFalse(InsertStatementHandler.getOutputSegment(new 
SQLServerInsertStatement()).isPresent());
     }
@@ -158,6 +166,7 @@ class InsertStatementHandlerTest {
         insertStatement.setMultiTableInsertIntoSegment(new 
MultiTableInsertIntoSegment(0, 0));
         Optional<MultiTableInsertIntoSegment> insertMultiTableElementSegment = 
InsertStatementHandler.getMultiTableInsertIntoSegment(insertStatement);
         assertTrue(insertMultiTableElementSegment.isPresent());
+        
assertTrue(insertStatement.getMultiTableInsertIntoSegment().isPresent());
         assertThat(insertMultiTableElementSegment.get(), 
is(insertStatement.getMultiTableInsertIntoSegment().get()));
         assertFalse(InsertStatementHandler.getMultiTableInsertIntoSegment(new 
SQLServerInsertStatement()).isPresent());
     }
diff --git 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/SelectStatementHandlerTest.java
 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/SelectStatementHandlerTest.java
index f4b3ff013d0..2d0aea261fe 100644
--- 
a/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/SelectStatementHandlerTest.java
+++ 
b/parser/sql/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/dialect/handler/dml/SelectStatementHandlerTest.java
@@ -47,6 +47,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLimit(new LimitSegment(0, 0, null, null));
         Optional<LimitSegment> limitSegment = 
SelectStatementHandler.getLimitSegment(selectStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(selectStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(selectStatement.getLimit().get()));
         assertFalse(SelectStatementHandler.getLimitSegment(new 
MySQLSelectStatement()).isPresent());
     }
@@ -57,6 +58,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLimit(new LimitSegment(0, 0, null, null));
         Optional<LimitSegment> limitSegment = 
SelectStatementHandler.getLimitSegment(selectStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(selectStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(selectStatement.getLimit().get()));
         assertFalse(SelectStatementHandler.getLimitSegment(new 
PostgreSQLSelectStatement()).isPresent());
     }
@@ -67,6 +69,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLimit(new LimitSegment(0, 0, null, null));
         Optional<LimitSegment> limitSegment = 
SelectStatementHandler.getLimitSegment(selectStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(selectStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(selectStatement.getLimit().get()));
         assertFalse(SelectStatementHandler.getLimitSegment(new 
SQL92SelectStatement()).isPresent());
     }
@@ -77,6 +80,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLimit(new LimitSegment(0, 0, null, null));
         Optional<LimitSegment> limitSegment = 
SelectStatementHandler.getLimitSegment(selectStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(selectStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(selectStatement.getLimit().get()));
         assertFalse(SelectStatementHandler.getLimitSegment(new 
SQLServerSelectStatement()).isPresent());
     }
@@ -87,6 +91,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLimit(new LimitSegment(1, 2, new 
NumberLiteralLimitValueSegment(0, 3, 5L), new NumberLiteralLimitValueSegment(0, 
3, 2L)));
         Optional<LimitSegment> limitSegment = 
SelectStatementHandler.getLimitSegment(selectStatement);
         assertTrue(limitSegment.isPresent());
+        assertTrue(selectStatement.getLimit().isPresent());
         assertThat(limitSegment.get(), is(selectStatement.getLimit().get()));
         assertFalse(SelectStatementHandler.getLimitSegment(new 
OpenGaussSelectStatement()).isPresent());
     }
@@ -102,6 +107,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLock(new LockSegment(0, 0));
         Optional<LockSegment> lockSegment = 
SelectStatementHandler.getLockSegment(selectStatement);
         assertTrue(lockSegment.isPresent());
+        assertTrue(selectStatement.getLock().isPresent());
         assertThat(lockSegment.get(), is(selectStatement.getLock().get()));
         assertFalse(SelectStatementHandler.getLockSegment(new 
MySQLSelectStatement()).isPresent());
     }
@@ -112,6 +118,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLock(new LockSegment(0, 0));
         Optional<LockSegment> lockSegment = 
SelectStatementHandler.getLockSegment(selectStatement);
         assertTrue(lockSegment.isPresent());
+        assertTrue(selectStatement.getLock().isPresent());
         assertThat(lockSegment.get(), is(selectStatement.getLock().get()));
         assertFalse(SelectStatementHandler.getLockSegment(new 
OracleSelectStatement()).isPresent());
     }
@@ -122,6 +129,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLock(new LockSegment(0, 0));
         Optional<LockSegment> lockSegment = 
SelectStatementHandler.getLockSegment(selectStatement);
         assertTrue(lockSegment.isPresent());
+        assertTrue(selectStatement.getLock().isPresent());
         assertThat(lockSegment.get(), is(selectStatement.getLock().get()));
         assertFalse(SelectStatementHandler.getLockSegment(new 
PostgreSQLSelectStatement()).isPresent());
     }
@@ -132,6 +140,7 @@ class SelectStatementHandlerTest {
         selectStatement.setLock(new LockSegment(0, 2));
         Optional<LockSegment> lockSegment = 
SelectStatementHandler.getLockSegment(selectStatement);
         assertTrue(lockSegment.isPresent());
+        assertTrue(selectStatement.getLock().isPresent());
         assertThat(lockSegment.get(), is(selectStatement.getLock().get()));
         assertFalse(SelectStatementHandler.getLockSegment(new 
OpenGaussSelectStatement()).isPresent());
     }
@@ -166,6 +175,7 @@ class SelectStatementHandlerTest {
         selectStatement.setWindow(new WindowSegment(0, 2));
         Optional<WindowSegment> windowSegment = 
SelectStatementHandler.getWindowSegment(selectStatement);
         assertTrue(windowSegment.isPresent());
+        assertTrue(selectStatement.getWindow().isPresent());
         assertThat(windowSegment.get(), is(selectStatement.getWindow().get()));
         assertFalse(SelectStatementHandler.getWindowSegment(new 
OpenGaussSelectStatement()).isPresent());
     }
@@ -183,6 +193,7 @@ class SelectStatementHandlerTest {
         selectStatement.setWithSegment(new WithSegment(0, 2, new 
LinkedList<>()));
         Optional<WithSegment> withSegment = 
SelectStatementHandler.getWithSegment(selectStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(selectStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(selectStatement.getWithSegment().get()));
         assertFalse(SelectStatementHandler.getWithSegment(new 
OracleSelectStatement()).isPresent());
     }
@@ -193,6 +204,7 @@ class SelectStatementHandlerTest {
         selectStatement.setWithSegment(new WithSegment(0, 2, new 
LinkedList<>()));
         Optional<WithSegment> withSegment = 
SelectStatementHandler.getWithSegment(selectStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(selectStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(selectStatement.getWithSegment().get()));
         assertFalse(SelectStatementHandler.getWithSegment(new 
MySQLSelectStatement()).isPresent());
     }
@@ -203,6 +215,7 @@ class SelectStatementHandlerTest {
         selectStatement.setWithSegment(new WithSegment(0, 2, new 
LinkedList<>()));
         Optional<WithSegment> withSegment = 
SelectStatementHandler.getWithSegment(selectStatement);
         assertTrue(withSegment.isPresent());
+        assertTrue(selectStatement.getWithSegment().isPresent());
         assertThat(withSegment.get(), 
is(selectStatement.getWithSegment().get()));
         assertFalse(SelectStatementHandler.getWithSegment(new 
SQLServerSelectStatement()).isPresent());
     }
@@ -221,6 +234,7 @@ class SelectStatementHandlerTest {
         selectStatement.setModelSegment(new ModelSegment(0, 2));
         Optional<ModelSegment> modelSegment = 
SelectStatementHandler.getModelSegment(selectStatement);
         assertTrue(modelSegment.isPresent());
+        assertTrue(selectStatement.getModelSegment().isPresent());
         assertThat(modelSegment.get(), 
is(selectStatement.getModelSegment().get()));
         assertFalse(SelectStatementHandler.getModelSegment(new 
OracleSelectStatement()).isPresent());
     }

Reply via email to