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 30e7d197bb6 Refactor Converter (#37368)
30e7d197bb6 is described below
commit 30e7d197bb68776a54810878843e7d0b3283726d
Author: Liang Zhang <[email protected]>
AuthorDate: Fri Dec 12 18:25:23 2025 +0800
Refactor Converter (#37368)
* Refactor InExpressionConverter
* Refactor IntervalExpressionConverter
* Refactor LiteralExpressionConverter
* Refactor MatchExpressionConverter
* Refactor NotExpressionConverter
* Refactor ParameterMarkerExpressionConverter
* Refactor QuantifySubqueryExpressionConverter
* Refactor RowExpressionConverter
* Refactor SubqueryExpressionConverter
* Refactor TrimFunctionConverter
* Refactor UnaryOperationExpressionConverter
* Refactor VariableSegmentConverter
* Refactor WindowFunctionConverter
---
.../segment/expression/ExpressionConverter.java | 20 ++++++-------
.../segment/expression/impl/FunctionConverter.java | 4 +--
.../expression/impl/InExpressionConverter.java | 8 ++---
.../impl/IntervalExpressionConverter.java | 6 ++--
.../impl/LiteralExpressionConverter.java | 32 ++++++++++----------
.../expression/impl/MatchExpressionConverter.java | 7 ++---
.../expression/impl/NotExpressionConverter.java | 8 ++---
.../impl/ParameterMarkerExpressionConverter.java | 7 ++---
.../impl/QuantifySubqueryExpressionConverter.java | 6 ++--
.../expression/impl/RowExpressionConverter.java | 5 ++--
.../impl/SubqueryExpressionConverter.java | 6 ++--
.../expression/impl/TrimFunctionConverter.java | 5 ++--
.../impl/UnaryOperationExpressionConverter.java | 5 ++--
.../expression/impl/VariableSegmentConverter.java | 7 ++---
.../expression/impl/WindowFunctionConverter.java | 9 +++---
.../segment/projection/ProjectionsConverter.java | 2 +-
.../expression/ExpressionConverterTest.java | 35 +++++++++++-----------
.../expression/impl/FunctionConverterTest.java | 8 ++---
.../expression/impl/InExpressionConverterTest.java | 13 ++------
.../impl/IntervalExpressionConverterTest.java | 4 +--
.../impl/MatchExpressionConverterTest.java | 9 ++----
.../impl/NotExpressionConverterTest.java | 7 ++---
.../ParameterMarkerExpressionConverterTest.java | 8 ++---
.../QuantifySubqueryExpressionConverterTest.java | 10 +------
.../impl/RowExpressionConverterTest.java | 4 +--
.../impl/SubqueryExpressionConverterTest.java | 10 +------
.../expression/impl/TrimFunctionConverterTest.java | 7 ++---
.../UnaryOperationExpressionConverterTest.java | 4 +--
.../impl/VariableSegmentConverterTest.java | 8 +----
.../impl/WindowFunctionConverterTest.java | 7 ++---
.../projection/ProjectionsConverterTest.java | 5 ++--
31 files changed, 99 insertions(+), 177 deletions(-)
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverter.java
index ac7d9516dda..0d07bfe9770 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverter.java
@@ -109,16 +109,16 @@ public final class ExpressionConverter {
return
Optional.of(ExistsSubqueryExpressionConverter.convert((ExistsSubqueryExpression)
segment));
}
if (segment instanceof SubqueryExpressionSegment) {
- return
SubqueryExpressionConverter.convert((SubqueryExpressionSegment) segment);
+ return
Optional.of(SubqueryExpressionConverter.convert((SubqueryExpressionSegment)
segment));
}
if (segment instanceof InExpression) {
- return InExpressionConverter.convert((InExpression) segment);
+ return Optional.of(InExpressionConverter.convert((InExpression)
segment));
}
if (segment instanceof BetweenExpression) {
return
Optional.of(BetweenExpressionConverter.convert((BetweenExpression) segment));
}
if (segment instanceof ParameterMarkerExpressionSegment) {
- return
ParameterMarkerExpressionConverter.convert((ParameterMarkerExpressionSegment)
segment);
+ return
Optional.of(ParameterMarkerExpressionConverter.convert((ParameterMarkerExpressionSegment)
segment));
}
if (segment instanceof FunctionSegment) {
return FunctionConverter.convert((FunctionSegment) segment);
@@ -133,7 +133,7 @@ public final class ExpressionConverter {
return
Optional.of(CaseWhenExpressionConverter.convert((CaseWhenExpression) segment));
}
if (segment instanceof NotExpression) {
- return NotExpressionConverter.convert((NotExpression) segment);
+ return Optional.of(NotExpressionConverter.convert((NotExpression)
segment));
}
if (segment instanceof TypeCastExpression) {
return TypeCastExpressionConverter.convert((TypeCastExpression)
segment);
@@ -142,25 +142,25 @@ public final class ExpressionConverter {
return
Optional.of(ExtractArgExpressionConverter.convert((ExtractArgExpression)
segment));
}
if (segment instanceof MatchAgainstExpression) {
- return MatchExpressionConverter.convert((MatchAgainstExpression)
segment);
+ return
Optional.of(MatchExpressionConverter.convert((MatchAgainstExpression) segment));
}
if (segment instanceof CollateExpression) {
return
Optional.of(CollateExpressionConverter.convert((CollateExpression) segment));
}
if (segment instanceof RowExpression) {
- return RowExpressionConverter.convert((RowExpression) segment);
+ return Optional.of(RowExpressionConverter.convert((RowExpression)
segment));
}
if (segment instanceof VariableSegment) {
- return VariableSegmentConverter.convert((VariableSegment) segment);
+ return
Optional.of(VariableSegmentConverter.convert((VariableSegment) segment));
}
if (segment instanceof UnaryOperationExpression) {
- return
UnaryOperationExpressionConverter.convert((UnaryOperationExpression) segment);
+ return
Optional.of(UnaryOperationExpressionConverter.convert((UnaryOperationExpression)
segment));
}
if (segment instanceof IntervalExpression) {
- return IntervalExpressionConverter.convert((IntervalExpression)
segment);
+ return
Optional.of(IntervalExpressionConverter.convert((IntervalExpression) segment));
}
if (segment instanceof QuantifySubqueryExpression) {
- return
QuantifySubqueryExpressionConverter.convert((QuantifySubqueryExpression)
segment);
+ return
Optional.of(QuantifySubqueryExpressionConverter.convert((QuantifySubqueryExpression)
segment));
}
throw new UnsupportedSQLOperationException("unsupported TableSegment
type: " + segment.getClass());
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverter.java
index 87a8c8ce1c8..f7e4478641b 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverter.java
@@ -62,10 +62,10 @@ public final class FunctionConverter {
return Optional.of(functionName);
}
if ("TRIM".equalsIgnoreCase(functionName.getSimple())) {
- return TrimFunctionConverter.convert(segment);
+ return Optional.of(TrimFunctionConverter.convert(segment));
}
if ("OVER".equalsIgnoreCase(functionName.getSimple())) {
- return WindowFunctionConverter.convert(segment);
+ return Optional.of(WindowFunctionConverter.convert(segment));
}
List<SqlOperator> functions = new LinkedList<>();
SqlStdOperatorTable.instance().lookupOperatorOverloads(functionName,
null, SqlSyntax.FUNCTION, functions, SqlNameMatchers.withCaseSensitive(false));
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverter.java
index 2bd387635d4..d6ab6707551 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverter.java
@@ -30,7 +30,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedList;
-import java.util.Optional;
/**
* In expression converter.
@@ -44,14 +43,11 @@ public final class InExpressionConverter {
* @param expression in expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final InExpression expression) {
- if (null == expression) {
- return Optional.empty();
- }
+ public static SqlBasicCall convert(final InExpression expression) {
Collection<SqlNode> sqlNodes = new LinkedList<>();
ExpressionConverter.convert(expression.getLeft()).ifPresent(sqlNodes::add);
ExpressionConverter.convert(expression.getRight())
.ifPresent(optional -> sqlNodes.add(optional instanceof
SqlBasicCall ? new SqlNodeList(((SqlBasicCall) optional).getOperandList(),
SqlParserPos.ZERO) : optional));
- return Optional.of(new SqlBasicCall(expression.isNot() ?
SqlStdOperatorTable.NOT_IN : SqlStdOperatorTable.IN, new ArrayList<>(sqlNodes),
SqlParserPos.ZERO));
+ return new SqlBasicCall(expression.isNot() ?
SqlStdOperatorTable.NOT_IN : SqlStdOperatorTable.IN, new ArrayList<>(sqlNodes),
SqlParserPos.ZERO);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverter.java
index e287faabfb6..91df5ce6e31 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverter.java
@@ -31,7 +31,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
/**
* Interval expression converter.
@@ -45,13 +44,12 @@ public final class IntervalExpressionConverter {
* @param segment unary operation expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final IntervalExpression segment) {
+ public static SqlBasicCall convert(final IntervalExpression segment) {
TimeUnit timeUnit = getTimeUnit(segment.getIntervalUnit());
List<SqlNode> sqlNodes = new ArrayList<>();
ExpressionConverter.convert(segment.getValue()).ifPresent(sqlNodes::add);
sqlNodes.add(new SqlIntervalQualifier(timeUnit, timeUnit,
SqlParserPos.ZERO));
- SqlBasicCall result = new
SqlBasicCall(SQLExtensionOperatorTable.INTERVAL_OPERATOR, sqlNodes,
SqlParserPos.ZERO);
- return Optional.of(result);
+ return new SqlBasicCall(SQLExtensionOperatorTable.INTERVAL_OPERATOR,
sqlNodes, SqlParserPos.ZERO);
}
private static TimeUnit getTimeUnit(final IntervalUnit unit) {
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/LiteralExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/LiteralExpressionConverter.java
index a2462645031..0360102f366 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/LiteralExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/LiteralExpressionConverter.java
@@ -87,7 +87,7 @@ public final class LiteralExpressionConverter {
return Optional.of(new
SqlIntervalQualifier(TimeUnit.valueOf(literalValue.toUpperCase()), null,
SqlParserPos.ZERO));
}
if (segment.getLiterals() instanceof Number) {
- return convertNumber(segment, literalValue);
+ return Optional.of(convertNumber(segment, literalValue));
}
if (segment.getLiterals() instanceof String) {
return Optional.of(SqlLiteral.createCharString(literalValue,
SqlParserPos.ZERO));
@@ -96,10 +96,10 @@ public final class LiteralExpressionConverter {
return
Optional.of(SqlLiteral.createBoolean(Boolean.parseBoolean(literalValue),
SqlParserPos.ZERO));
}
if (segment.getLiterals() instanceof Calendar) {
- return convertCalendar(segment);
+ return Optional.of(convertCalendar(segment));
}
if (segment.getLiterals() instanceof Date) {
- return convertDate(segment, literalValue);
+ return Optional.of(convertDate(segment, literalValue));
}
if (segment.getLiterals() instanceof LocalDate) {
return
Optional.of(SqlLiteral.createDate(DateString.fromDaysSinceEpoch((int)
((LocalDate) segment.getLiterals()).toEpochDay()), SqlParserPos.ZERO));
@@ -122,33 +122,31 @@ public final class LiteralExpressionConverter {
return Optional.empty();
}
- private static Optional<SqlNode> convertNumber(final
LiteralExpressionSegment segment, final String literalValue) {
- if (segment.getLiterals() instanceof BigDecimal ||
segment.getLiterals() instanceof BigInteger) {
- return Optional.of(SqlLiteral.createApproxNumeric(literalValue,
SqlParserPos.ZERO));
- }
- return Optional.of(SqlLiteral.createExactNumeric(literalValue,
SqlParserPos.ZERO));
+ private static SqlNode convertNumber(final LiteralExpressionSegment
segment, final String literalValue) {
+ return segment.getLiterals() instanceof BigDecimal ||
segment.getLiterals() instanceof BigInteger
+ ? SqlLiteral.createApproxNumeric(literalValue,
SqlParserPos.ZERO)
+ : SqlLiteral.createExactNumeric(literalValue,
SqlParserPos.ZERO);
}
- private static Optional<SqlNode> convertCalendar(final
LiteralExpressionSegment segment) {
+ private static SqlNode convertCalendar(final LiteralExpressionSegment
segment) {
Calendar calendar = (Calendar) segment.getLiterals();
- if (hasTimePart(calendar)) {
- return
Optional.of(SqlLiteral.createTimestamp(SqlTypeName.TIMESTAMP,
TimestampString.fromCalendarFields(calendar), 1, SqlParserPos.ZERO));
- }
- return
Optional.of(SqlLiteral.createDate(DateString.fromCalendarFields(calendar),
SqlParserPos.ZERO));
+ return hasTimePart(calendar)
+ ? SqlLiteral.createTimestamp(SqlTypeName.TIMESTAMP,
TimestampString.fromCalendarFields(calendar), 1, SqlParserPos.ZERO)
+ :
SqlLiteral.createDate(DateString.fromCalendarFields(calendar),
SqlParserPos.ZERO);
}
private static boolean hasTimePart(final Calendar calendar) {
return 0 != calendar.get(Calendar.HOUR_OF_DAY) || 0 !=
calendar.get(Calendar.MINUTE) || 0 != calendar.get(Calendar.SECOND) || 0 !=
calendar.get(Calendar.MILLISECOND);
}
- private static Optional<SqlNode> convertDate(final
LiteralExpressionSegment segment, final String literalValue) {
+ private static SqlNode convertDate(final LiteralExpressionSegment segment,
final String literalValue) {
if (segment.getLiterals() instanceof Timestamp) {
Timestamp timestamp = (Timestamp) segment.getLiterals();
- return
Optional.of(SqlLiteral.createTimestamp(SqlTypeName.TIMESTAMP,
TimestampString.fromMillisSinceEpoch(timestamp.getTime()), 1,
SqlParserPos.ZERO));
+ return SqlLiteral.createTimestamp(SqlTypeName.TIMESTAMP,
TimestampString.fromMillisSinceEpoch(timestamp.getTime()), 1,
SqlParserPos.ZERO);
}
if (segment.getLiterals() instanceof Time) {
- return Optional.of(SqlLiteral.createTime(new
TimeString(literalValue), 1, SqlParserPos.ZERO));
+ return SqlLiteral.createTime(new TimeString(literalValue), 1,
SqlParserPos.ZERO);
}
- return Optional.of(SqlLiteral.createDate(new DateString(literalValue),
SqlParserPos.ZERO));
+ return SqlLiteral.createDate(new DateString(literalValue),
SqlParserPos.ZERO);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverter.java
index 0b6d82e25ee..8630f6315b3 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverter.java
@@ -25,15 +25,14 @@ import org.apache.calcite.sql.SqlLiteral;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParserPos;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.match.MatchAgainstExpression;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OwnerSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.match.MatchAgainstExpression;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.operator.common.SQLExtensionOperatorTable;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.ExpressionConverter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
-import java.util.Optional;
/**
* Match expression converter.
@@ -47,7 +46,7 @@ public final class MatchExpressionConverter {
* @param segment match against expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final MatchAgainstExpression
segment) {
+ public static SqlBasicCall convert(final MatchAgainstExpression segment) {
List<SqlNode> sqlNodes = new LinkedList<>();
List<String> names = new ArrayList<>();
for (ColumnSegment each : segment.getColumns()) {
@@ -60,7 +59,7 @@ public final class MatchExpressionConverter {
ExpressionConverter.convert(segment.getExpr()).ifPresent(sqlNodes::add);
SqlNode searchModifier =
SqlLiteral.createCharString(segment.getSearchModifier(), SqlParserPos.ZERO);
sqlNodes.add(searchModifier);
- return Optional.of(new
SqlBasicCall(SQLExtensionOperatorTable.MATCH_AGAINST, sqlNodes,
SqlParserPos.ZERO));
+ return new SqlBasicCall(SQLExtensionOperatorTable.MATCH_AGAINST,
sqlNodes, SqlParserPos.ZERO);
}
private static void addOwnerNames(final List<String> names, final
OwnerSegment owner) {
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverter.java
index ac83ec68191..3c564e93c3f 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverter.java
@@ -28,7 +28,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.LinkedList;
import java.util.List;
-import java.util.Optional;
/**
* Not expression converter.
@@ -42,13 +41,10 @@ public final class NotExpressionConverter {
* @param segment not expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final NotExpression segment) {
+ public static SqlBasicCall convert(final NotExpression segment) {
SqlNode expression =
ExpressionConverter.convert(segment.getExpression()).orElseThrow(IllegalStateException::new);
List<SqlNode> sqlNodes = new LinkedList<>();
sqlNodes.add(expression);
- if (segment.getNotSign().equals(true)) {
- return Optional.of(new
SqlBasicCall(SQLExtensionOperatorTable.NOT_SIGN, sqlNodes, SqlParserPos.ZERO));
- }
- return Optional.of(new SqlBasicCall(SQLExtensionOperatorTable.NOT,
sqlNodes, SqlParserPos.ZERO));
+ return new SqlBasicCall(segment.getNotSign() ?
SQLExtensionOperatorTable.NOT_SIGN : SQLExtensionOperatorTable.NOT, sqlNodes,
SqlParserPos.ZERO);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
index 460985c9acb..0f2f8d67860 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
@@ -20,12 +20,9 @@ package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segme
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.calcite.sql.SqlDynamicParam;
-import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParserPos;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
-import java.util.Optional;
-
/**
* Parameter marker expression converter.
*/
@@ -38,7 +35,7 @@ public final class ParameterMarkerExpressionConverter {
* @param segment parameter marker expression segment
* @return SQL node
*/
- public static Optional<SqlNode> convert(final
ParameterMarkerExpressionSegment segment) {
- return Optional.of(new
SqlDynamicParam(segment.getParameterMarkerIndex(), SqlParserPos.ZERO));
+ public static SqlDynamicParam convert(final
ParameterMarkerExpressionSegment segment) {
+ return new SqlDynamicParam(segment.getParameterMarkerIndex(),
SqlParserPos.ZERO);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverter.java
index 76c15bd5a9c..ea582bc7a78 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverter.java
@@ -23,8 +23,6 @@ import org.apache.calcite.sql.SqlNode;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.QuantifySubqueryExpression;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.statement.type.SelectStatementConverter;
-import java.util.Optional;
-
/**
* Quantify subquery expression converter.
*/
@@ -37,7 +35,7 @@ public final class QuantifySubqueryExpressionConverter {
* @param expression quantify subquery expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final QuantifySubqueryExpression
expression) {
- return null == expression ? Optional.empty() : Optional.of(new
SelectStatementConverter().convert(expression.getSubquery().getSelect()));
+ public static SqlNode convert(final QuantifySubqueryExpression expression)
{
+ return new
SelectStatementConverter().convert(expression.getSubquery().getSelect());
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverter.java
index 3cd4b4359ed..b4846a83ab5 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverter.java
@@ -28,7 +28,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.ArrayList;
import java.util.List;
-import java.util.Optional;
/**
* Row expression converter.
@@ -42,11 +41,11 @@ public final class RowExpressionConverter {
* @param segment row expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final RowExpression segment) {
+ public static SqlNode convert(final RowExpression segment) {
List<SqlNode> sqlNodes = new ArrayList<>(segment.getItems().size());
for (ExpressionSegment each : segment.getItems()) {
ExpressionConverter.convert(each).ifPresent(sqlNodes::add);
}
- return
Optional.of(SqlStdOperatorTable.ROW.createCall(SqlParserPos.ZERO, sqlNodes));
+ return SqlStdOperatorTable.ROW.createCall(SqlParserPos.ZERO, sqlNodes);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverter.java
index 7ffa60d1bf2..d5dd21a6752 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverter.java
@@ -23,8 +23,6 @@ import org.apache.calcite.sql.SqlNode;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.subquery.SubqueryExpressionSegment;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.statement.type.SelectStatementConverter;
-import java.util.Optional;
-
/**
* Subquery expression converter.
*/
@@ -37,7 +35,7 @@ public final class SubqueryExpressionConverter {
* @param expression subquery expression segment
* @return SQL node
*/
- public static Optional<SqlNode> convert(final SubqueryExpressionSegment
expression) {
- return null == expression ? Optional.empty() : Optional.of(new
SelectStatementConverter().convert(expression.getSubquery().getSelect()));
+ public static SqlNode convert(final SubqueryExpressionSegment expression) {
+ return new
SelectStatementConverter().convert(expression.getSubquery().getSelect());
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverter.java
index 65129224788..b2a2fac603a 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverter.java
@@ -36,7 +36,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import java.util.Optional;
/**
* Trim function converter.
@@ -50,11 +49,11 @@ public final class TrimFunctionConverter {
* @param segment function segment
* @return SQL node
*/
- public static Optional<SqlNode> convert(final FunctionSegment segment) {
+ public static SqlBasicCall convert(final FunctionSegment segment) {
SqlIdentifier functionName = new
SqlIdentifier(segment.getFunctionName(), SqlParserPos.ZERO);
List<SqlOperator> functions = new LinkedList<>();
SqlStdOperatorTable.instance().lookupOperatorOverloads(functionName,
null, SqlSyntax.FUNCTION, functions, SqlNameMatchers.withCaseSensitive(false));
- return Optional.of(new SqlBasicCall(functions.iterator().next(),
getTrimFunctionParameters(segment.getParameters()), SqlParserPos.ZERO));
+ return new SqlBasicCall(functions.iterator().next(),
getTrimFunctionParameters(segment.getParameters()), SqlParserPos.ZERO);
}
private static List<SqlNode> getTrimFunctionParameters(final
Collection<ExpressionSegment> sqlSegments) {
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
index ff48bd5c509..e8f00dc3f15 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverter.java
@@ -33,7 +33,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
/**
* Unary operation expression converter.
@@ -63,10 +62,10 @@ public final class UnaryOperationExpressionConverter {
* @param segment unary operation expression
* @return SQL node
*/
- public static Optional<SqlNode> convert(final UnaryOperationExpression
segment) {
+ public static SqlBasicCall convert(final UnaryOperationExpression segment)
{
SqlOperator operator = convertOperator(segment);
List<SqlNode> sqlNodes = convertSqlNodes(segment);
- return Optional.of(new SqlBasicCall(operator, sqlNodes,
SqlParserPos.ZERO));
+ return new SqlBasicCall(operator, sqlNodes, SqlParserPos.ZERO);
}
private static SqlOperator convertOperator(final UnaryOperationExpression
segment) {
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverter.java
index b5c220aef10..22a9d695594 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverter.java
@@ -20,12 +20,9 @@ package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segme
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.apache.calcite.sql.SqlIdentifier;
-import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.parser.SqlParserPos;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.VariableSegment;
-import java.util.Optional;
-
/**
* Variable segment converter.
*/
@@ -38,7 +35,7 @@ public final class VariableSegmentConverter {
* @param segment variable segment
* @return SQL node
*/
- public static Optional<SqlNode> convert(final VariableSegment segment) {
- return Optional.of(new SqlIdentifier(segment.getText(),
SqlParserPos.ZERO));
+ public static SqlIdentifier convert(final VariableSegment segment) {
+ return new SqlIdentifier(segment.getText(), SqlParserPos.ZERO);
}
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverter.java
index 4d4b9f4d024..84fc0a41316 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverter.java
@@ -37,7 +37,6 @@ import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segmen
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import java.util.Optional;
/**
* Window function converter.
@@ -51,11 +50,11 @@ public final class WindowFunctionConverter {
* @param segment function segment
* @return SQL node
*/
- public static Optional<SqlNode> convert(final FunctionSegment segment) {
+ public static SqlBasicCall convert(final FunctionSegment segment) {
SqlIdentifier functionName = new
SqlIdentifier(segment.getFunctionName(), SqlParserPos.ZERO);
List<SqlOperator> functions = new LinkedList<>();
SqlStdOperatorTable.instance().lookupOperatorOverloads(functionName,
null, SqlSyntax.BINARY, functions, SqlNameMatchers.withCaseSensitive(false));
- return Optional.of(new SqlBasicCall(functions.iterator().next(),
getWindowFunctionParameters(segment.getParameters()), SqlParserPos.ZERO));
+ return new SqlBasicCall(functions.iterator().next(),
getWindowFunctionParameters(segment.getParameters()), SqlParserPos.ZERO);
}
private static List<SqlNode> getWindowFunctionParameters(final
Collection<ExpressionSegment> sqlSegments) {
@@ -64,8 +63,8 @@ public final class WindowFunctionConverter {
ExpressionConverter.convert(each).ifPresent(result::add);
}
if (1 == result.size()) {
- result.add(new SqlWindow(SqlParserPos.ZERO, null, null, new
SqlNodeList(SqlParserPos.ZERO), new SqlNodeList(SqlParserPos.ZERO),
SqlLiteral.createBoolean(false, SqlParserPos.ZERO), null,
- null, null));
+ result.add(new SqlWindow(
+ SqlParserPos.ZERO, null, null, new
SqlNodeList(SqlParserPos.ZERO), new SqlNodeList(SqlParserPos.ZERO),
SqlLiteral.createBoolean(false, SqlParserPos.ZERO), null, null, null));
}
return result;
}
diff --git
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverter.java
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverter.java
index 75e03c6fd49..01780e1fadd 100644
---
a/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverter.java
+++
b/kernel/sql-federation/compiler/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverter.java
@@ -78,7 +78,7 @@ public final class ProjectionsConverter {
return
AggregationProjectionConverter.convert((AggregationProjectionSegment) segment);
}
if (segment instanceof ParameterMarkerExpressionSegment) {
- return
ParameterMarkerExpressionConverter.convert((ParameterMarkerExpressionSegment)
segment);
+ return
Optional.of(ParameterMarkerExpressionConverter.convert((ParameterMarkerExpressionSegment)
segment));
}
// TODO process other projection
return Optional.empty();
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverterTest.java
index a5f12a7a9eb..c52a8d468ab 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/ExpressionConverterTest.java
@@ -18,6 +18,7 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression;
import org.apache.calcite.sql.SqlBasicCall;
+import org.apache.calcite.sql.SqlDynamicParam;
import org.apache.calcite.sql.SqlIdentifier;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.fun.SqlCase;
@@ -129,16 +130,16 @@ class ExpressionConverterTest {
when(ExistsSubqueryExpressionConverter.convert(existsSubqueryExpression)).thenReturn(expectedExistsSubqueryNode);
SqlNode expectedSubqueryNode = mock(SqlNode.class);
SubqueryExpressionSegment subqueryExpressionSegment = new
SubqueryExpressionSegment(subquerySegment);
-
when(SubqueryExpressionConverter.convert(subqueryExpressionSegment)).thenReturn(Optional.of(expectedSubqueryNode));
- SqlNode expectedInNode = mock(SqlNode.class);
+
when(SubqueryExpressionConverter.convert(subqueryExpressionSegment)).thenReturn(expectedSubqueryNode);
+ SqlBasicCall expectedInNode = mock(SqlBasicCall.class);
InExpression inExpression = new InExpression(0, 0, literalSegment,
literalSegment, false);
-
when(InExpressionConverter.convert(inExpression)).thenReturn(Optional.of(expectedInNode));
+
when(InExpressionConverter.convert(inExpression)).thenReturn(expectedInNode);
SqlBasicCall expectedBetweenNode = mock(SqlBasicCall.class);
BetweenExpression betweenExpression = new BetweenExpression(0, 0,
literalSegment, literalSegment, literalSegment, false);
when(BetweenExpressionConverter.convert(betweenExpression)).thenReturn(expectedBetweenNode);
- SqlNode expectedParameterNode = mock(SqlNode.class);
+ SqlDynamicParam expectedParameterNode = mock(SqlDynamicParam.class);
ParameterMarkerExpressionSegment parameterSegment = new
ParameterMarkerExpressionSegment(0, 0, 0);
-
when(ParameterMarkerExpressionConverter.convert(parameterSegment)).thenReturn(Optional.of(expectedParameterNode));
+
when(ParameterMarkerExpressionConverter.convert(parameterSegment)).thenReturn(expectedParameterNode);
SqlNode expectedFunctionNode = mock(SqlNode.class);
FunctionSegment functionSegment = new FunctionSegment(0, 0, "func",
"func_text");
when(FunctionConverter.convert(functionSegment)).thenReturn(Optional.of(expectedFunctionNode));
@@ -154,36 +155,36 @@ class ExpressionConverterTest {
SqlCase expectedCaseWhenNode = mock(SqlCase.class);
CaseWhenExpression caseWhenExpression = new CaseWhenExpression(0, 0,
literalSegment, Collections.singleton(literalSegment),
Collections.singleton(literalSegment), literalSegment);
when(CaseWhenExpressionConverter.convert(caseWhenExpression)).thenReturn(expectedCaseWhenNode);
- SqlNode expectedNotNode = mock(SqlNode.class);
+ SqlBasicCall expectedNotNode = mock(SqlBasicCall.class);
NotExpression notExpression = new NotExpression(0, 0, literalSegment,
true);
-
when(NotExpressionConverter.convert(notExpression)).thenReturn(Optional.of(expectedNotNode));
+
when(NotExpressionConverter.convert(notExpression)).thenReturn(expectedNotNode);
SqlNode expectedTypeCastNode = mock(SqlNode.class);
TypeCastExpression typeCastExpression = new TypeCastExpression(0, 0,
"text", literalSegment, "int");
when(TypeCastExpressionConverter.convert(typeCastExpression)).thenReturn(Optional.of(expectedTypeCastNode));
SqlIdentifier expectedExtractNode = mock(SqlIdentifier.class);
ExtractArgExpression extractArgExpression = new
ExtractArgExpression(0, 0, "extract");
when(ExtractArgExpressionConverter.convert(extractArgExpression)).thenReturn(expectedExtractNode);
- SqlNode expectedMatchNode = mock(SqlNode.class);
+ SqlBasicCall expectedMatchNode = mock(SqlBasicCall.class);
MatchAgainstExpression matchAgainstExpression = new
MatchAgainstExpression(0, 0, literalSegment, "search", "text");
-
when(MatchExpressionConverter.convert(matchAgainstExpression)).thenReturn(Optional.of(expectedMatchNode));
+
when(MatchExpressionConverter.convert(matchAgainstExpression)).thenReturn(expectedMatchNode);
SqlBasicCall expectedCollateNode = mock(SqlBasicCall.class);
CollateExpression collateExpression = new CollateExpression(0, 0,
literalSegment, literalSegment);
when(CollateExpressionConverter.convert(collateExpression)).thenReturn(expectedCollateNode);
SqlNode expectedRowNode = mock(SqlNode.class);
RowExpression rowExpression = new RowExpression(0, 0, "row");
-
when(RowExpressionConverter.convert(rowExpression)).thenReturn(Optional.of(expectedRowNode));
- SqlNode expectedVariableNode = mock(SqlNode.class);
+
when(RowExpressionConverter.convert(rowExpression)).thenReturn(expectedRowNode);
+ SqlIdentifier expectedVariableNode = mock(SqlIdentifier.class);
VariableSegment variableSegment = new VariableSegment(0, 0,
"@@session");
-
when(VariableSegmentConverter.convert(variableSegment)).thenReturn(Optional.of(expectedVariableNode));
- SqlNode expectedUnaryNode = mock(SqlNode.class);
+
when(VariableSegmentConverter.convert(variableSegment)).thenReturn(expectedVariableNode);
+ SqlBasicCall expectedUnaryNode = mock(SqlBasicCall.class);
UnaryOperationExpression unaryOperationExpression = new
UnaryOperationExpression(0, 0, literalSegment, "+", "text");
-
when(UnaryOperationExpressionConverter.convert(unaryOperationExpression)).thenReturn(Optional.of(expectedUnaryNode));
- SqlNode expectedIntervalNode = mock(SqlNode.class);
+
when(UnaryOperationExpressionConverter.convert(unaryOperationExpression)).thenReturn(expectedUnaryNode);
+ SqlBasicCall expectedIntervalNode = mock(SqlBasicCall.class);
IntervalExpression intervalExpression = new IntervalExpression(0, 0,
literalSegment, IntervalUnit.DAY, "interval");
-
when(IntervalExpressionConverter.convert(intervalExpression)).thenReturn(Optional.of(expectedIntervalNode));
+
when(IntervalExpressionConverter.convert(intervalExpression)).thenReturn(expectedIntervalNode);
SqlNode expectedQuantifyNode = mock(SqlNode.class);
QuantifySubqueryExpression quantifySubqueryExpression = new
QuantifySubqueryExpression(0, 0, new SubquerySegment(0, 0, new
SelectStatement(databaseType), "sub"), "ALL");
-
when(QuantifySubqueryExpressionConverter.convert(quantifySubqueryExpression)).thenReturn(Optional.of(expectedQuantifyNode));
+
when(QuantifySubqueryExpressionConverter.convert(quantifySubqueryExpression)).thenReturn(expectedQuantifyNode);
Map<ExpressionSegment, SqlNode> expectations = new LinkedHashMap<>(23,
1F);
expectations.put(literalSegment, expectedLiteralNode);
expectations.put(listSegment, expectedListNode);
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverterTest.java
index cdb0c18f79c..39ef00d5efb 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/FunctionConverterTest.java
@@ -66,8 +66,8 @@ class FunctionConverterTest {
@Test
void assertConvertDelegatesToTrimFunctionConverter() {
FunctionSegment segment = new FunctionSegment(0, 0, "TRIM", "TRIM");
- SqlNode expected = mock(SqlNode.class);
-
when(TrimFunctionConverter.convert(segment)).thenReturn(Optional.of(expected));
+ SqlBasicCall expected = mock(SqlBasicCall.class);
+ when(TrimFunctionConverter.convert(segment)).thenReturn(expected);
SqlNode actual = FunctionConverter.convert(segment).orElse(null);
assertThat(actual, is(expected));
}
@@ -75,8 +75,8 @@ class FunctionConverterTest {
@Test
void assertConvertDelegatesToWindowFunctionConverter() {
FunctionSegment segment = new FunctionSegment(0, 0, "OVER", "OVER");
- SqlNode expected = mock(SqlNode.class);
-
when(WindowFunctionConverter.convert(segment)).thenReturn(Optional.of(expected));
+ SqlBasicCall expected = mock(SqlBasicCall.class);
+ when(WindowFunctionConverter.convert(segment)).thenReturn(expected);
SqlNode actual = FunctionConverter.convert(segment).orElse(null);
assertThat(actual, is(expected));
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverterTest.java
index ed0bd303754..fa74cd2d70d 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/InExpressionConverterTest.java
@@ -37,8 +37,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -46,11 +44,6 @@ import static org.mockito.Mockito.when;
@StaticMockSettings(ExpressionConverter.class)
class InExpressionConverterTest {
- @Test
- void assertConvertReturnsEmptyWhenExpressionIsNull() {
- assertFalse(InExpressionConverter.convert(null).isPresent());
- }
-
@Test
void assertConvertWrapsSqlBasicCallRightAsListForNotIn() {
LiteralExpressionSegment left = new LiteralExpressionSegment(0, 0, 1);
@@ -60,8 +53,7 @@ class InExpressionConverterTest {
SqlBasicCall rightBasicCall = new
SqlBasicCall(SqlStdOperatorTable.PLUS, Collections.singletonList(rightOperand),
SqlParserPos.ZERO);
when(ExpressionConverter.convert(left)).thenReturn(Optional.of(leftNode));
when(ExpressionConverter.convert(right)).thenReturn(Optional.of(rightBasicCall));
- SqlBasicCall actual = (SqlBasicCall) InExpressionConverter.convert(new
InExpression(0, 0, left, right, true)).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = InExpressionConverter.convert(new
InExpression(0, 0, left, right, true));
assertThat(actual.getOperator(), is(SqlStdOperatorTable.NOT_IN));
SqlNode secondOperand = actual.getOperandList().get(1);
assertThat(secondOperand, instanceOf(SqlNodeList.class));
@@ -77,8 +69,7 @@ class InExpressionConverterTest {
SqlNode rightNode = mock(SqlNode.class);
when(ExpressionConverter.convert(left)).thenReturn(Optional.of(leftNode));
when(ExpressionConverter.convert(right)).thenReturn(Optional.of(rightNode));
- SqlBasicCall actual = (SqlBasicCall) InExpressionConverter.convert(new
InExpression(0, 0, left, right, false)).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = InExpressionConverter.convert(new
InExpression(0, 0, left, right, false));
assertThat(actual.getOperator(), is(SqlStdOperatorTable.IN));
assertThat(actual.getOperandList(), is(Arrays.asList(leftNode,
rightNode)));
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverterTest.java
index ea958f4caad..66300b03eeb 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/IntervalExpressionConverterTest.java
@@ -41,7 +41,6 @@ import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.when;
@@ -63,8 +62,7 @@ class IntervalExpressionConverterTest {
SqlNode literalNode = SqlLiteral.createExactNumeric("1",
SqlParserPos.ZERO);
when(ExpressionConverter.convert(value)).thenReturn(Optional.of(literalNode));
IntervalExpression intervalExpression = new IntervalExpression(0, 0,
value, intervalUnit, "INTERVAL 1");
- SqlBasicCall actual = (SqlBasicCall)
IntervalExpressionConverter.convert(intervalExpression).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual =
IntervalExpressionConverter.convert(intervalExpression);
assertThat(actual.getOperator(),
is(SQLExtensionOperatorTable.INTERVAL_OPERATOR));
assertThat(actual.getOperandList().get(0), is(literalNode));
SqlIntervalQualifier qualifier = (SqlIntervalQualifier)
actual.getOperandList().get(1);
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverterTest.java
index 0a7bad46420..888f61ff4ce 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/MatchExpressionConverterTest.java
@@ -24,10 +24,10 @@ import org.apache.calcite.sql.SqlNode;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.ColumnSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.LiteralExpressionSegment;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.OwnerSegment;
+import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.match.MatchAgainstExpression;
import
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.operator.common.SQLExtensionOperatorTable;
import
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.ExpressionConverter;
-import
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.match.MatchAgainstExpression;
import
org.apache.shardingsphere.test.infra.framework.extension.mock.AutoMockExtension;
import
org.apache.shardingsphere.test.infra.framework.extension.mock.StaticMockSettings;
import org.junit.jupiter.api.Test;
@@ -39,7 +39,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -59,8 +58,7 @@ class MatchExpressionConverterTest {
when(ExpressionConverter.convert(expr)).thenReturn(Optional.of(exprNode));
MatchAgainstExpression segment = new MatchAgainstExpression(0, 0,
expr, "modifier", "");
segment.getColumns().add(columnSegment);
- SqlBasicCall actual = (SqlBasicCall)
MatchExpressionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = MatchExpressionConverter.convert(segment);
assertThat(actual.getOperator(),
is(SQLExtensionOperatorTable.MATCH_AGAINST));
SqlIdentifier identifier = (SqlIdentifier)
actual.getOperandList().get(0);
assertThat(identifier.names, is(Arrays.asList("schema", "table",
"column")));
@@ -76,8 +74,7 @@ class MatchExpressionConverterTest {
when(ExpressionConverter.convert(expr)).thenReturn(Optional.empty());
MatchAgainstExpression segment = new MatchAgainstExpression(0, 0,
expr, "modifier", "");
segment.getColumns().add(columnSegment);
- SqlBasicCall actual = (SqlBasicCall)
MatchExpressionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = MatchExpressionConverter.convert(segment);
assertThat(actual.getOperandList().size(), is(2));
assertThat(actual.getOperandList().get(0),
instanceOf(SqlIdentifier.class));
SqlLiteral modifier = (SqlLiteral) actual.getOperandList().get(1);
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverterTest.java
index 4053a4ee14a..98907617075 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/NotExpressionConverterTest.java
@@ -32,7 +32,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -45,8 +44,7 @@ class NotExpressionConverterTest {
LiteralExpressionSegment expression = new LiteralExpressionSegment(0,
0, 1);
SqlNode expressionNode = mock(SqlNode.class);
when(ExpressionConverter.convert(expression)).thenReturn(Optional.of(expressionNode));
- SqlBasicCall actual = (SqlBasicCall)
NotExpressionConverter.convert(new NotExpression(0, 0, expression,
true)).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = NotExpressionConverter.convert(new
NotExpression(0, 0, expression, true));
assertThat(actual.getOperator(),
is(SQLExtensionOperatorTable.NOT_SIGN));
assertThat(actual.getOperandList().get(0), is(expressionNode));
}
@@ -56,8 +54,7 @@ class NotExpressionConverterTest {
LiteralExpressionSegment expression = new LiteralExpressionSegment(0,
0, 1);
SqlNode expressionNode = mock(SqlNode.class);
when(ExpressionConverter.convert(expression)).thenReturn(Optional.of(expressionNode));
- SqlBasicCall actual = (SqlBasicCall)
NotExpressionConverter.convert(new NotExpression(0, 0, expression,
false)).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = NotExpressionConverter.convert(new
NotExpression(0, 0, expression, false));
assertThat(actual.getOperator(), is(SQLExtensionOperatorTable.NOT));
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverterTest.java
index 28932e7aa29..c1885ba40c3 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/ParameterMarkerExpressionConverterTest.java
@@ -18,21 +18,17 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl;
import org.apache.calcite.sql.SqlDynamicParam;
-import org.apache.calcite.sql.SqlNode;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
class ParameterMarkerExpressionConverterTest {
@Test
void assertConvertParameterMarker() {
- SqlNode actual = ParameterMarkerExpressionConverter.convert(new
ParameterMarkerExpressionSegment(0, 0, 5)).orElse(null);
- assertNotNull(actual);
- SqlDynamicParam param = (SqlDynamicParam) actual;
- assertThat(param.getIndex(), is(5));
+ SqlDynamicParam actual =
ParameterMarkerExpressionConverter.convert(new
ParameterMarkerExpressionSegment(0, 0, 5));
+ assertThat(actual.getIndex(), is(5));
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverterTest.java
index 1c1adbfdce2..f59f5fd24e4 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/QuantifySubqueryExpressionConverterTest.java
@@ -17,7 +17,6 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl;
-import org.apache.calcite.sql.SqlNode;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.QuantifySubqueryExpression;
@@ -27,18 +26,12 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.Proj
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dml.SelectStatement;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
class QuantifySubqueryExpressionConverterTest {
private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
- @Test
- void assertConvertReturnsEmptyWhenExpressionIsNull() {
-
assertFalse(QuantifySubqueryExpressionConverter.convert(null).isPresent());
- }
-
@Test
void assertConvertQuantifySubqueryExpression() {
SelectStatement selectStatement = new SelectStatement(databaseType);
@@ -47,7 +40,6 @@ class QuantifySubqueryExpressionConverterTest {
selectStatement.setProjections(projections);
SubquerySegment subquerySegment = new SubquerySegment(0, 0,
selectStatement, "sub");
QuantifySubqueryExpression expression = new
QuantifySubqueryExpression(0, 0, subquerySegment, "ALL");
- SqlNode actual =
QuantifySubqueryExpressionConverter.convert(expression).orElse(null);
- assertNotNull(actual);
+ assertNotNull(QuantifySubqueryExpressionConverter.convert(expression));
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverterTest.java
index 42bdb33ec65..372870f1413 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/RowExpressionConverterTest.java
@@ -35,7 +35,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.when;
@ExtendWith(AutoMockExtension.class)
@@ -53,8 +52,7 @@ class RowExpressionConverterTest {
SqlNode secondNode = SqlLiteral.createExactNumeric("2",
SqlParserPos.ZERO);
when(ExpressionConverter.convert(first)).thenReturn(Optional.of(firstNode));
when(ExpressionConverter.convert(second)).thenReturn(Optional.of(secondNode));
- SqlBasicCall actual = (SqlBasicCall)
RowExpressionConverter.convert(expression).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = (SqlBasicCall)
RowExpressionConverter.convert(expression);
assertThat(actual.getOperator(), is(SqlStdOperatorTable.ROW));
assertThat(actual.getOperandList(), is(Arrays.asList(firstNode,
secondNode)));
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverterTest.java
index 5199874a879..8f83c83c077 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/SubqueryExpressionConverterTest.java
@@ -17,7 +17,6 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl;
-import org.apache.calcite.sql.SqlNode;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
@@ -27,18 +26,12 @@ import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.Proj
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.dml.SelectStatement;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
class SubqueryExpressionConverterTest {
private final DatabaseType databaseType =
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
- @Test
- void assertConvertReturnsEmptyWhenExpressionIsNull() {
- assertFalse(SubqueryExpressionConverter.convert(null).isPresent());
- }
-
@Test
void assertConvertSubqueryExpression() {
SelectStatement selectStatement = new SelectStatement(databaseType);
@@ -46,7 +39,6 @@ class SubqueryExpressionConverterTest {
projections.getProjections().add(new
ParameterMarkerExpressionSegment(0, 0, 0));
selectStatement.setProjections(projections);
SubquerySegment subquerySegment = new SubquerySegment(0, 0,
selectStatement, "sub");
- SqlNode actual = SubqueryExpressionConverter.convert(new
SubqueryExpressionSegment(subquerySegment)).orElse(null);
- assertNotNull(actual);
+ assertNotNull(SubqueryExpressionConverter.convert(new
SubqueryExpressionSegment(subquerySegment)));
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverterTest.java
index d39890de717..ba90e76b969 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/TrimFunctionConverterTest.java
@@ -33,7 +33,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -48,8 +47,7 @@ class TrimFunctionConverterTest {
segment.getParameters().add(parameter);
SqlNode paramNode = mock(SqlNode.class);
when(ExpressionConverter.convert(parameter)).thenReturn(Optional.of(paramNode));
- SqlBasicCall actual = (SqlBasicCall)
TrimFunctionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = TrimFunctionConverter.convert(segment);
SqlLiteral trimFlag = (SqlLiteral) actual.getOperandList().get(0);
assertThat(trimFlag.getValueAs(Flag.class), is(Flag.BOTH));
SqlLiteral padding = (SqlLiteral) actual.getOperandList().get(1);
@@ -68,8 +66,7 @@ class TrimFunctionConverterTest {
SqlNode secondNode = mock(SqlNode.class);
when(ExpressionConverter.convert(first)).thenReturn(Optional.of(firstNode));
when(ExpressionConverter.convert(second)).thenReturn(Optional.of(secondNode));
- SqlBasicCall actual = (SqlBasicCall)
TrimFunctionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = TrimFunctionConverter.convert(segment);
SqlLiteral trimFlag = (SqlLiteral) actual.getOperandList().get(0);
assertThat(trimFlag.getValueAs(Flag.class), is(Flag.BOTH));
assertThat(actual.getOperandList().get(1), is(firstNode));
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverterTest.java
index b957ba7f986..daeabf2a42c 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/UnaryOperationExpressionConverterTest.java
@@ -32,7 +32,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -46,8 +45,7 @@ class UnaryOperationExpressionConverterTest {
SqlNode expressionNode = mock(SqlNode.class);
when(ExpressionConverter.convert(expression)).thenReturn(Optional.of(expressionNode));
UnaryOperationExpression unaryOperationExpression = new
UnaryOperationExpression(0, 0, expression, "~", "~1");
- SqlBasicCall actual = (SqlBasicCall)
UnaryOperationExpressionConverter.convert(unaryOperationExpression).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual =
UnaryOperationExpressionConverter.convert(unaryOperationExpression);
assertThat(actual.getOperator(), is(SQLExtensionOperatorTable.TILDE));
assertThat(actual.getOperandList().get(0), is(expressionNode));
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverterTest.java
index 3effa280804..322a976277c 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/VariableSegmentConverterTest.java
@@ -17,23 +17,17 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.expression.impl;
-import org.apache.calcite.sql.SqlIdentifier;
-import org.apache.calcite.sql.SqlNode;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dal.VariableSegment;
import org.junit.jupiter.api.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
class VariableSegmentConverterTest {
@Test
void assertConvertVariableSegment() {
VariableSegment variableSegment = new VariableSegment(0, 0,
"@@session.tx");
- SqlNode actual =
VariableSegmentConverter.convert(variableSegment).orElse(null);
- assertNotNull(actual);
- SqlIdentifier identifier = (SqlIdentifier) actual;
- assertThat(identifier.getSimple(), is("@@session.tx"));
+
assertThat(VariableSegmentConverter.convert(variableSegment).getSimple(),
is("@@session.tx"));
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverterTest.java
index 3b77aa6d921..b76baacac58 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/expression/impl/WindowFunctionConverterTest.java
@@ -34,7 +34,6 @@ import java.util.Optional;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -50,8 +49,7 @@ class WindowFunctionConverterTest {
segment.getParameters().add(parameter);
SqlNode paramNode = mock(SqlNode.class);
when(ExpressionConverter.convert(parameter)).thenReturn(Optional.of(paramNode));
- SqlBasicCall actual = (SqlBasicCall)
WindowFunctionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = WindowFunctionConverter.convert(segment);
assertThat(actual.getOperator(), is(SqlStdOperatorTable.OVER));
assertThat(actual.getOperandList().get(0), is(paramNode));
assertThat(actual.getOperandList().get(1),
instanceOf(SqlWindow.class));
@@ -63,8 +61,7 @@ class WindowFunctionConverterTest {
LiteralExpressionSegment parameter = new LiteralExpressionSegment(0,
0, "value");
segment.getParameters().add(parameter);
when(ExpressionConverter.convert(parameter)).thenReturn(Optional.empty());
- SqlBasicCall actual = (SqlBasicCall)
WindowFunctionConverter.convert(segment).orElse(null);
- assertNotNull(actual);
+ SqlBasicCall actual = WindowFunctionConverter.convert(segment);
assertTrue(actual.getOperandList().isEmpty());
}
}
diff --git
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverterTest.java
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverterTest.java
index a9584c9303b..146a19db08f 100644
---
a/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverterTest.java
+++
b/kernel/sql-federation/compiler/src/test/java/org/apache/shardingsphere/sqlfederation/compiler/sql/ast/converter/segment/projection/ProjectionsConverterTest.java
@@ -17,6 +17,7 @@
package
org.apache.shardingsphere.sqlfederation.compiler.sql.ast.converter.segment.projection;
+import org.apache.calcite.sql.SqlDynamicParam;
import org.apache.calcite.sql.SqlNode;
import org.apache.calcite.sql.SqlNodeList;
import
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
@@ -77,9 +78,9 @@ class ProjectionsConverterTest {
AggregationProjectionSegment aggregationProjectionSegment =
mock(AggregationProjectionSegment.class);
when(AggregationProjectionConverter.convert(aggregationProjectionSegment)).thenReturn(Optional.of(expectedAggregationNode));
projectionsSegment.getProjections().add(aggregationProjectionSegment);
- SqlNode expectedParameterNode = mock(SqlNode.class);
+ SqlDynamicParam expectedParameterNode = mock(SqlDynamicParam.class);
ParameterMarkerExpressionSegment parameterMarkerExpressionSegment =
new ParameterMarkerExpressionSegment(0, 0, 0);
-
when(ParameterMarkerExpressionConverter.convert(parameterMarkerExpressionSegment)).thenReturn(Optional.of(expectedParameterNode));
+
when(ParameterMarkerExpressionConverter.convert(parameterMarkerExpressionSegment)).thenReturn(expectedParameterNode);
projectionsSegment.getProjections().add(parameterMarkerExpressionSegment);
SqlNodeList actual =
ProjectionsConverter.convert(projectionsSegment).orElse(null);
assertNotNull(actual);