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

panjuan 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 7af79208095 Revise pr #26901 (#27092)
7af79208095 is described below

commit 7af792080959c7a4e58793c7158aae849014a04a
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu Jul 13 15:56:28 2023 +0800

    Revise pr #26901 (#27092)
---
 .../expression/impl/ExtractArgExpressionConverter.java       |  5 ++---
 .../segment/expression/impl/TypeCastExpressionConverter.java | 12 ++++--------
 .../visitor/statement/OpenGaussStatementVisitor.java         |  2 +-
 .../visitor/statement/PostgreSQLStatementVisitor.java        |  2 +-
 .../asserts/segment/expression/ExpressionAssert.java         |  8 ++++----
 .../jaxb/segment/impl/expr/ExpectedExtractArgExpression.java |  4 +++-
 6 files changed, 15 insertions(+), 18 deletions(-)

diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/ExtractArgExpressionConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/ExtractArgExpressionConverter.java
index efd0d8a7a05..7c043e35ad1 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/ExtractArgExpressionConverter.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/ExtractArgExpressionConverter.java
@@ -28,14 +28,13 @@ import java.util.Optional;
 /**
  * Extract arg expression converter.
  */
-public class ExtractArgExpressionConverter implements 
SQLSegmentConverter<ExtractArgExpression, SqlNode> {
+public final class ExtractArgExpressionConverter implements 
SQLSegmentConverter<ExtractArgExpression, SqlNode> {
     
     @Override
     public Optional<SqlNode> convert(final ExtractArgExpression expression) {
         if (null == expression) {
             return Optional.empty();
         }
-        SqlIdentifier argName = new SqlIdentifier(expression.getText(), 
SqlParserPos.ZERO);
-        return Optional.of(argName);
+        return Optional.of(new SqlIdentifier(expression.getText(), 
SqlParserPos.ZERO));
     }
 }
diff --git 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/TypeCastExpressionConverter.java
 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/TypeCastExpressionConverter.java
index 80a45778c7f..837c2173296 100644
--- 
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/TypeCastExpressionConverter.java
+++ 
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/segment/expression/impl/TypeCastExpressionConverter.java
@@ -29,25 +29,21 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.TypeCast
 import 
org.apache.shardingsphere.sqlfederation.compiler.converter.segment.SQLSegmentConverter;
 import 
org.apache.shardingsphere.sqlfederation.compiler.converter.segment.expression.ExpressionConverter;
 
-import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.List;
 import java.util.Optional;
 
 /**
  * Type cast expression converter.
  */
-public class TypeCastExpressionConverter implements 
SQLSegmentConverter<TypeCastExpression, SqlNode> {
+public final class TypeCastExpressionConverter implements 
SQLSegmentConverter<TypeCastExpression, SqlNode> {
     
     @Override
     public Optional<SqlNode> convert(final TypeCastExpression segment) {
-        Optional<SqlNode> exprssion = new 
ExpressionConverter().convert(segment.getExpression());
-        if (!exprssion.isPresent()) {
+        Optional<SqlNode> expression = new 
ExpressionConverter().convert(segment.getExpression());
+        if (!expression.isPresent()) {
             return Optional.empty();
         }
         SqlTypeNameSpec sqlTypeName = new 
SqlBasicTypeNameSpec(SqlTypeName.valueOf(segment.getDataType().toUpperCase()), 
SqlParserPos.ZERO);
-        SqlDataTypeSpec sqlDataTypeSpec = new SqlDataTypeSpec(sqlTypeName, 
SqlParserPos.ZERO);
-        List<SqlNode> operandList = new 
ArrayList<>(Arrays.asList(exprssion.get(), sqlDataTypeSpec));
-        return Optional.of(new SqlBasicCall(new SqlCastFunction(), 
operandList, SqlParserPos.ZERO));
+        return Optional.of(new SqlBasicCall(new SqlCastFunction(), 
Arrays.asList(expression.get(), new SqlDataTypeSpec(sqlTypeName, 
SqlParserPos.ZERO)), SqlParserPos.ZERO));
     }
 }
diff --git 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
index e730e9f3d34..2e57234c9ac 100644
--- 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
+++ 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/OpenGaussStatementVisitor.java
@@ -455,7 +455,7 @@ public abstract class OpenGaussStatementVisitor extends 
OpenGaussStatementBaseVi
         }
         FunctionSegment result = new 
FunctionSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), 
ctx.getChild(0).getText(), getOriginalText(ctx));
         Collection<ExpressionSegment> expressionSegments = 
getExpressionSegments(getTargetRuleContextFromParseTree(ctx, 
AExprContext.class));
-        if (ctx.getChild(0).getText().toUpperCase().equals("EXTRACT")) {
+        if ("EXTRACT".equalsIgnoreCase(ctx.getChild(0).getText())) {
             result.getParameters().add((ExpressionSegment) 
visit(getTargetRuleContextFromParseTree(ctx, 
ExtractArgContext.class).iterator().next()));
         }
         result.getParameters().addAll(expressionSegments);
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
index d0c8af9f7cf..8b46e51882f 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/PostgreSQLStatementVisitor.java
@@ -452,7 +452,7 @@ public abstract class PostgreSQLStatementVisitor extends 
PostgreSQLStatementPars
         }
         FunctionSegment result = new 
FunctionSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), 
ctx.getChild(0).getText(), getOriginalText(ctx));
         Collection<ExpressionSegment> expressionSegments = 
getExpressionSegments(getTargetRuleContextFromParseTree(ctx, 
AExprContext.class));
-        if (ctx.getChild(0).getText().toUpperCase().equals("EXTRACT")) {
+        if ("EXTRACT".equalsIgnoreCase(ctx.getChild(0).getText())) {
             result.getParameters().add((ExpressionSegment) 
visit(getTargetRuleContextFromParseTree(ctx, 
ExtractArgContext.class).iterator().next()));
         }
         result.getParameters().addAll(expressionSegments);
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
index 6e2cf9e83cf..1bd9a8391c6 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/asserts/segment/expression/ExpressionAssert.java
@@ -25,8 +25,8 @@ import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.BetweenE
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.BinaryOperationExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.CaseWhenExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.CollateExpression;
-import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExplicitTableExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExistsSubqueryExpression;
+import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExplicitTableExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExtractArgExpression;
 import 
org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.FunctionSegment;
@@ -57,16 +57,16 @@ import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.s
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedBinaryOperationExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedCaseWhenExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedCollateExpression;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedExplicitTableExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedExistsSubquery;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedExplicitTableExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedExtractArgExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedInExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedListExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedNotExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedTypeCastExpression;
-import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedVariableSegment;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedValuesExpression;
+import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.ExpectedVariableSegment;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.complex.ExpectedCommonExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.simple.ExpectedLiteralExpression;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr.simple.ExpectedParameterMarkerExpression;
@@ -422,7 +422,7 @@ public final class ExpressionAssert {
             assertNull(actual, assertContext.getText("Extract arg expression 
should not exist."));
             return;
         }
-        assertThat(assertContext.getText("Different: "), actual.getText(), 
is(expected.getText()));
+        assertThat(assertContext.getText("Extract arg expression assertion 
error: "), actual.getText(), is(expected.getText()));
     }
     
     /**
diff --git 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/expr/ExpectedExtractArgExpression.java
 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/expr/ExpectedExtractArgExpression.java
index 95b506f470d..961049f504a 100644
--- 
a/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/expr/ExpectedExtractArgExpression.java
+++ 
b/test/it/parser/src/main/java/org/apache/shardingsphere/test/it/sql/parser/internal/cases/parser/jaxb/segment/impl/expr/ExpectedExtractArgExpression.java
@@ -18,6 +18,7 @@
 package 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.impl.expr;
 
 import lombok.Getter;
+import lombok.Setter;
 import 
org.apache.shardingsphere.test.it.sql.parser.internal.cases.parser.jaxb.segment.AbstractExpectedSQLSegment;
 
 import javax.xml.bind.annotation.XmlAttribute;
@@ -26,7 +27,8 @@ import javax.xml.bind.annotation.XmlAttribute;
  * Expected extract arg expression.
  */
 @Getter
-public class ExpectedExtractArgExpression extends AbstractExpectedSQLSegment 
implements ExpectedExpressionSegment {
+@Setter
+public final class ExpectedExtractArgExpression extends 
AbstractExpectedSQLSegment implements ExpectedExpressionSegment {
     
     @XmlAttribute
     private String text;

Reply via email to