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

chengzhang 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 b06c0c390a8 Fix sonar issue on PostgreSQLDDLStatementVisitor (#25971)
b06c0c390a8 is described below

commit b06c0c390a8f6093313e0ef3f44fd6b9eecc64e9
Author: Liang Zhang <[email protected]>
AuthorDate: Wed May 31 23:51:10 2023 +0800

    Fix sonar issue on PostgreSQLDDLStatementVisitor (#25971)
    
    * Fix sonar issue on PostgreSQLDDLStatementVisitor
    
    * Fix sonar issue on OracleDMLStatementVisitor
---
 .../statement/type/OracleDMLStatementVisitor.java  | 30 ++++++------
 .../type/PostgreSQLDDLStatementVisitor.java        | 56 ++++++++++++----------
 2 files changed, 46 insertions(+), 40 deletions(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementVisitor.java
 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementVisitor.java
index 89485425ab0..f08f3512bc2 100644
--- 
a/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementVisitor.java
+++ 
b/parser/sql/dialect/oracle/src/main/java/org/apache/shardingsphere/sql/parser/oracle/visitor/statement/type/OracleDMLStatementVisitor.java
@@ -230,6 +230,7 @@ public final class OracleDMLStatementVisitor extends 
OracleStatementVisitor impl
         return result;
     }
     
+    @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitInsertIntoClause(final InsertIntoClauseContext ctx) {
         OracleInsertStatement result = new OracleInsertStatement();
@@ -721,32 +722,30 @@ public final class OracleDMLStatementVisitor extends 
OracleStatementVisitor impl
         if (projection instanceof BinaryOperationExpression) {
             BinaryOperationExpression binaryExpression = 
(BinaryOperationExpression) projection;
             int startIndex = binaryExpression.getStartIndex();
-            int stopIndex = null != alias ? alias.getStopIndex() : 
binaryExpression.getStopIndex();
+            int stopIndex = null == alias ? binaryExpression.getStopIndex() : 
alias.getStopIndex();
             ExpressionProjectionSegment result = new 
ExpressionProjectionSegment(startIndex, stopIndex, binaryExpression.getText(), 
binaryExpression);
             result.setAlias(alias);
             return result;
         }
         if (projection instanceof DatetimeExpression) {
             DatetimeExpression datetimeExpression = (DatetimeExpression) 
projection;
-            if (null != datetimeExpression.getRight()) {
-                return new 
DatetimeProjectionSegment(datetimeExpression.getStartIndex(), 
datetimeExpression.getStopIndex(), datetimeExpression.getLeft(), 
datetimeExpression.getRight(),
-                        datetimeExpression.getText());
-            }
-            return new 
DatetimeProjectionSegment(datetimeExpression.getStartIndex(), 
datetimeExpression.getStopIndex(), datetimeExpression.getLeft(), 
datetimeExpression.getText());
+            return null == datetimeExpression.getRight()
+                    ? new 
DatetimeProjectionSegment(datetimeExpression.getStartIndex(), 
datetimeExpression.getStopIndex(), datetimeExpression.getLeft(), 
datetimeExpression.getText())
+                    : new 
DatetimeProjectionSegment(datetimeExpression.getStartIndex(), 
datetimeExpression.getStopIndex(),
+                    datetimeExpression.getLeft(), 
datetimeExpression.getRight(), datetimeExpression.getText());
         }
         if (projection instanceof XmlQueryAndExistsFunctionSegment) {
             XmlQueryAndExistsFunctionSegment xmlExistsFunctionSegment = 
(XmlQueryAndExistsFunctionSegment) projection;
-            return new 
XmlQueryAndExistsFunctionSegment(xmlExistsFunctionSegment.getStartIndex(), 
xmlExistsFunctionSegment.getStopIndex(),
-                    xmlExistsFunctionSegment.getFunctionName(), 
xmlExistsFunctionSegment.getXQueryString(), xmlExistsFunctionSegment.getText());
+            return new 
XmlQueryAndExistsFunctionSegment(xmlExistsFunctionSegment.getStartIndex(),
+                    xmlExistsFunctionSegment.getStopIndex(), 
xmlExistsFunctionSegment.getFunctionName(), 
xmlExistsFunctionSegment.getXQueryString(), xmlExistsFunctionSegment.getText());
         }
         if (projection instanceof XmlPiFunctionSegment) {
             XmlPiFunctionSegment xmlPiFunctionSegment = (XmlPiFunctionSegment) 
projection;
-            if (null != xmlPiFunctionSegment.getIdentifier()) {
-                return new 
XmlPiFunctionSegment(xmlPiFunctionSegment.getStartIndex(), 
xmlPiFunctionSegment.getStopIndex(), xmlPiFunctionSegment.getFunctionName(),
-                        xmlPiFunctionSegment.getIdentifier(), 
xmlPiFunctionSegment.getValueExpr(), xmlPiFunctionSegment.getText());
-            }
-            return new 
XmlPiFunctionSegment(xmlPiFunctionSegment.getStartIndex(), 
xmlPiFunctionSegment.getStopIndex(), xmlPiFunctionSegment.getFunctionName(),
-                    xmlPiFunctionSegment.getEvalNameValueExpr(), 
xmlPiFunctionSegment.getValueExpr(), xmlPiFunctionSegment.getText());
+            return null == xmlPiFunctionSegment.getIdentifier()
+                    ? new 
XmlPiFunctionSegment(xmlPiFunctionSegment.getStartIndex(), 
xmlPiFunctionSegment.getStopIndex(),
+                    xmlPiFunctionSegment.getFunctionName(), 
xmlPiFunctionSegment.getEvalNameValueExpr(), 
xmlPiFunctionSegment.getValueExpr(), xmlPiFunctionSegment.getText())
+                    : new 
XmlPiFunctionSegment(xmlPiFunctionSegment.getStartIndex(), 
xmlPiFunctionSegment.getStopIndex(),
+                    xmlPiFunctionSegment.getFunctionName(), 
xmlPiFunctionSegment.getIdentifier(), xmlPiFunctionSegment.getValueExpr(), 
xmlPiFunctionSegment.getText());
         }
         if (projection instanceof XmlSerializeFunctionSegment) {
             XmlSerializeFunctionSegment xmlSerializeFunctionSegment = 
(XmlSerializeFunctionSegment) projection;
@@ -755,7 +754,8 @@ public final class OracleDMLStatementVisitor extends 
OracleStatementVisitor impl
                     xmlSerializeFunctionSegment.getIdentSize(), 
xmlSerializeFunctionSegment.getText());
         }
         LiteralExpressionSegment column = (LiteralExpressionSegment) 
projection;
-        ExpressionProjectionSegment result = null == alias ? new 
ExpressionProjectionSegment(column.getStartIndex(), column.getStopIndex(), 
String.valueOf(column.getLiterals()), column)
+        ExpressionProjectionSegment result = null == alias
+                ? new ExpressionProjectionSegment(column.getStartIndex(), 
column.getStopIndex(), String.valueOf(column.getLiterals()), column)
                 : new ExpressionProjectionSegment(column.getStartIndex(), 
ctx.alias().stop.getStopIndex(), String.valueOf(column.getLiterals()), column);
         result.setAlias(alias);
         return result;
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index 5e37d1679cf..541fa851f86 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -407,35 +407,11 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
         return new PostgreSQLAlterForeignDataWrapperStatement();
     }
     
-    @SuppressWarnings("unchecked")
     @Override
     public ASTNode visitAlterDefinitionClause(final 
AlterDefinitionClauseContext ctx) {
         CollectionValue<AlterDefinitionSegment> result = new 
CollectionValue<>();
         if (null != ctx.alterTableActions()) {
-            for (AlterTableActionContext each : 
ctx.alterTableActions().alterTableAction()) {
-                AddColumnSpecificationContext addColumnSpecification = 
each.addColumnSpecification();
-                if (null != addColumnSpecification) {
-                    
result.getValue().addAll(((CollectionValue<AddColumnDefinitionSegment>) 
visit(addColumnSpecification)).getValue());
-                }
-                if (null != each.addConstraintSpecification() && null != 
each.addConstraintSpecification().tableConstraint()) {
-                    result.getValue().add((AddConstraintDefinitionSegment) 
visit(each.addConstraintSpecification()));
-                }
-                if (null != each.validateConstraintSpecification()) {
-                    
result.getValue().add((ValidateConstraintDefinitionSegment) 
visit(each.validateConstraintSpecification()));
-                }
-                if (null != each.modifyColumnSpecification()) {
-                    result.getValue().add((ModifyColumnDefinitionSegment) 
visit(each.modifyColumnSpecification()));
-                }
-                if (null != each.modifyConstraintSpecification()) {
-                    result.getValue().add((ModifyConstraintDefinitionSegment) 
visit(each.modifyConstraintSpecification()));
-                }
-                if (null != each.dropColumnSpecification()) {
-                    result.getValue().add((DropColumnDefinitionSegment) 
visit(each.dropColumnSpecification()));
-                }
-                if (null != each.dropConstraintSpecification()) {
-                    result.getValue().add((DropConstraintDefinitionSegment) 
visit(each.dropConstraintSpecification()));
-                }
-            }
+            result.getValue().addAll(getAlterDefinitionSegments(ctx));
         }
         if (null != ctx.renameTableSpecification()) {
             result.getValue().add((RenameTableDefinitionSegment) 
visit(ctx.renameTableSpecification()));
@@ -443,6 +419,35 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
         return result;
     }
     
+    @SuppressWarnings("unchecked")
+    private Collection<AlterDefinitionSegment> 
getAlterDefinitionSegments(final AlterDefinitionClauseContext ctx) {
+        Collection<AlterDefinitionSegment> result = new LinkedList<>();
+        for (AlterTableActionContext each : 
ctx.alterTableActions().alterTableAction()) {
+            if (null != each.addColumnSpecification()) {
+                result.addAll(((CollectionValue<AddColumnDefinitionSegment>) 
visit(each.addColumnSpecification())).getValue());
+            }
+            if (null != each.addConstraintSpecification() && null != 
each.addConstraintSpecification().tableConstraint()) {
+                result.add((AddConstraintDefinitionSegment) 
visit(each.addConstraintSpecification()));
+            }
+            if (null != each.validateConstraintSpecification()) {
+                result.add((ValidateConstraintDefinitionSegment) 
visit(each.validateConstraintSpecification()));
+            }
+            if (null != each.modifyColumnSpecification()) {
+                result.add((ModifyColumnDefinitionSegment) 
visit(each.modifyColumnSpecification()));
+            }
+            if (null != each.modifyConstraintSpecification()) {
+                result.add((ModifyConstraintDefinitionSegment) 
visit(each.modifyConstraintSpecification()));
+            }
+            if (null != each.dropColumnSpecification()) {
+                result.add((DropColumnDefinitionSegment) 
visit(each.dropColumnSpecification()));
+            }
+            if (null != each.dropConstraintSpecification()) {
+                result.add((DropConstraintDefinitionSegment) 
visit(each.dropConstraintSpecification()));
+            }
+        }
+        return result;
+    }
+    
     @Override
     public ASTNode visitAlterForeignTable(final AlterForeignTableContext ctx) {
         return new PostgreSQLAlterForeignTableStatement();
@@ -833,6 +838,7 @@ public final class PostgreSQLDDLStatementVisitor extends 
PostgreSQLStatementVisi
         return result;
     }
     
+    @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
     public ASTNode visitDropSequence(final DropSequenceContext ctx) {
         PostgreSQLDropSequenceStatement result = new 
PostgreSQLDropSequenceStatement();

Reply via email to