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

zhangliang 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 a0ecc1366a8 Reduce Cognitive Complexity on HiveStatementVisitor 
(#31878)
a0ecc1366a8 is described below

commit a0ecc1366a8aeb7e1b13bb69ff99bbd33dcf2ec0
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jun 27 07:56:48 2024 +0800

    Reduce Cognitive Complexity on HiveStatementVisitor (#31878)
---
 .../parser/hive/visitor/statement/HiveStatementVisitor.java   | 11 ++++-------
 .../parser/mysql/visitor/statement/MySQLStatementVisitor.java | 11 ++++-------
 .../presto/visitor/statement/PrestoStatementVisitor.java      | 11 ++++-------
 3 files changed, 12 insertions(+), 21 deletions(-)

diff --git 
a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/HiveStatementVisitor.java
 
b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/HiveStatementVisitor.java
index 7322359f392..c393455d587 100644
--- 
a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/HiveStatementVisitor.java
+++ 
b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/HiveStatementVisitor.java
@@ -449,8 +449,8 @@ public abstract class HiveStatementVisitor extends 
HiveStatementBaseVisitor<ASTN
         int startIndex = ctx.start.getStartIndex();
         int stopIndex = ctx.stop.getStopIndex();
         if (null != ctx.subquery()) {
-            SubquerySegment subquerySegment = new 
SubquerySegment(ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(),
-                    (MySQLSelectStatement) visit(ctx.subquery()), 
getOriginalText(ctx.subquery()));
+            SubquerySegment subquerySegment = new SubquerySegment(
+                    ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(), (MySQLSelectStatement) 
visit(ctx.subquery()), getOriginalText(ctx.subquery()));
             return null == ctx.EXISTS() ? new 
SubqueryExpressionSegment(subquerySegment) : new 
ExistsSubqueryExpression(startIndex, stopIndex, subquerySegment);
         }
         if (null != ctx.parameterMarker()) {
@@ -469,11 +469,8 @@ public abstract class HiveStatementVisitor extends 
HiveStatementBaseVisitor<ASTN
             return visit(ctx.functionCall());
         }
         if (null != ctx.collateClause()) {
-            if (null != ctx.simpleExpr()) {
-                ExpressionSegment expr = (ExpressionSegment) 
visit(ctx.simpleExpr(0));
-                return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
-            }
-            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), null);
+            ExpressionSegment expr = null == ctx.simpleExpr() ? null : 
(ExpressionSegment) visit(ctx.simpleExpr(0));
+            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
         }
         if (null != ctx.columnRef()) {
             return visit(ctx.columnRef());
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 d91285ca824..96edd78af5f 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
@@ -599,8 +599,8 @@ public abstract class MySQLStatementVisitor extends 
MySQLStatementBaseVisitor<AS
         int startIndex = ctx.start.getStartIndex();
         int stopIndex = ctx.stop.getStopIndex();
         if (null != ctx.subquery()) {
-            SubquerySegment subquerySegment = new 
SubquerySegment(ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(), (MySQLSelectStatement) 
visit(ctx.subquery()),
-                    getOriginalText(ctx.subquery()));
+            SubquerySegment subquerySegment = new SubquerySegment(
+                    ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(), (MySQLSelectStatement) 
visit(ctx.subquery()), getOriginalText(ctx.subquery()));
             if (null != ctx.EXISTS()) {
                 subquerySegment.setSubqueryType(SubqueryType.EXISTS_SUBQUERY);
                 return new ExistsSubqueryExpression(startIndex, stopIndex, 
subquerySegment);
@@ -623,11 +623,8 @@ public abstract class MySQLStatementVisitor extends 
MySQLStatementBaseVisitor<AS
             return visit(ctx.functionCall());
         }
         if (null != ctx.collateClause()) {
-            if (null != ctx.simpleExpr()) {
-                ExpressionSegment expr = (ExpressionSegment) 
visit(ctx.simpleExpr(0));
-                return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
-            }
-            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), null);
+            ExpressionSegment expr = null == ctx.simpleExpr() ? null : 
(ExpressionSegment) visit(ctx.simpleExpr(0));
+            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
         }
         if (null != ctx.columnRef()) {
             return visit(ctx.columnRef());
diff --git 
a/parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/PrestoStatementVisitor.java
 
b/parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/PrestoStatementVisitor.java
index 66a5d5afb84..cfaea60ecc9 100644
--- 
a/parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/PrestoStatementVisitor.java
+++ 
b/parser/sql/dialect/presto/src/main/java/org/apache/shardingsphere/sql/parser/presto/visitor/statement/PrestoStatementVisitor.java
@@ -465,8 +465,8 @@ public abstract class PrestoStatementVisitor extends 
PrestoStatementBaseVisitor<
         int startIndex = ctx.start.getStartIndex();
         int stopIndex = ctx.stop.getStopIndex();
         if (null != ctx.subquery()) {
-            SubquerySegment subquerySegment = new 
SubquerySegment(ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(), (PrestoSelectStatement) 
visit(ctx.subquery()),
-                    getOriginalText(ctx.subquery()));
+            SubquerySegment subquerySegment = new SubquerySegment(
+                    ctx.subquery().getStart().getStartIndex(), 
ctx.subquery().getStop().getStopIndex(), (PrestoSelectStatement) 
visit(ctx.subquery()), getOriginalText(ctx.subquery()));
             return null == ctx.EXISTS() ? new 
SubqueryExpressionSegment(subquerySegment) : new 
ExistsSubqueryExpression(startIndex, stopIndex, subquerySegment);
         }
         if (null != ctx.parameterMarker()) {
@@ -485,11 +485,8 @@ public abstract class PrestoStatementVisitor extends 
PrestoStatementBaseVisitor<
             return visit(ctx.functionCall());
         }
         if (null != ctx.collateClause()) {
-            if (null != ctx.simpleExpr()) {
-                ExpressionSegment expr = (ExpressionSegment) 
visit(ctx.simpleExpr(0));
-                return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
-            }
-            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), null);
+            ExpressionSegment expr = null == ctx.simpleExpr() ? null : 
(ExpressionSegment) visit(ctx.simpleExpr(0));
+            return new CollateExpression(startIndex, stopIndex, 
(SimpleExpressionSegment) visit(ctx.collateClause()), expr);
         }
         if (null != ctx.columnRef()) {
             return visit(ctx.columnRef());

Reply via email to