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;