You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2023/04/27 01:43:11 UTC
[shardingsphere] branch master updated: Revise pr 25318 for code style (#25339)
This is an automated email from the ASF dual-hosted git repository.
sunnianjun 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 cc9425789b5 Revise pr 25318 for code style (#25339)
cc9425789b5 is described below
commit cc9425789b514a61c80addaa82e7771fb461bb5a
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Thu Apr 27 09:43:02 2023 +0800
Revise pr 25318 for code style (#25339)
---
.../data/pipeline/core/execute/ExecuteEngine.java | 1 +
.../segment/expression/impl/FunctionConverter.java | 3 ---
.../impl/LiteralExpressionConverter.java | 26 +++++++++++++---------
3 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngine.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngine.java
index 10f8fec68ce..1d50fd4deec 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngine.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/execute/ExecuteEngine.java
@@ -98,6 +98,7 @@ public final class ExecuteEngine {
BlockingQueue<CompletableFuture<?>> futureQueue = new LinkedBlockingQueue<>();
for (CompletableFuture<?> each : futures) {
each.whenComplete(new BiConsumer<Object, Throwable>() {
+
@SneakyThrows(InterruptedException.class)
@Override
public void accept(final Object unused, final Throwable throwable) {
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
index f261f9db4dd..b49aab8139c 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
+++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
@@ -52,9 +52,6 @@ public class FunctionConverter implements SQLSegmentConverter<FunctionSegment, S
if ("TRIM".equalsIgnoreCase(functionName.getSimple())) {
return new TrimFunctionConverter().convert(segment);
}
- if ("INTERVAL".equalsIgnoreCase(functionName.getSimple())) {
- return Optional.of(new SqlBasicCall(SqlStdOperatorTable.INTERVAL, getFunctionParameters(segment.getParameters()), SqlParserPos.ZERO));
- }
List<SqlOperator> functions = new LinkedList<>();
SqlStdOperatorTable.instance().lookupOperatorOverloads(functionName, null, SqlSyntax.FUNCTION, functions, SqlNameMatchers.withCaseSensitive(false));
return Optional.of(functions.isEmpty()
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
index e75d8b0d1fd..cc20b61ba5c 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
+++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
@@ -26,10 +26,10 @@ import org.apache.calcite.sql.parser.SqlParserPos;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.LiteralExpressionSegment;
import org.apache.shardingsphere.sqlfederation.optimizer.converter.segment.SQLSegmentConverter;
+import java.math.BigDecimal;
import java.util.Collection;
import java.util.HashSet;
import java.util.Optional;
-import java.math.BigDecimal;
/**
* Literal expression converter.
@@ -38,10 +38,18 @@ public final class LiteralExpressionConverter implements SQLSegmentConverter<Lit
private static final Collection<String> TRIM_FUNCTION_FLAGS = new HashSet<>(3, 1);
+ private static final Collection<String> TIME_UNIT_NAMES = new HashSet<>(6, 1);
+
static {
TRIM_FUNCTION_FLAGS.add("BOTH");
TRIM_FUNCTION_FLAGS.add("LEADING");
TRIM_FUNCTION_FLAGS.add("TRAILING");
+ TIME_UNIT_NAMES.add("YEAR");
+ TIME_UNIT_NAMES.add("MONTH");
+ TIME_UNIT_NAMES.add("DAY");
+ TIME_UNIT_NAMES.add("HOUR");
+ TIME_UNIT_NAMES.add("MINUTE");
+ TIME_UNIT_NAMES.add("SECOND");
}
@Override
@@ -49,20 +57,18 @@ public final class LiteralExpressionConverter implements SQLSegmentConverter<Lit
if (null == segment.getLiterals()) {
return Optional.of(SqlLiteral.createNull(SqlParserPos.ZERO));
}
- if ("YEAR".equals(segment.getLiterals())) {
- return Optional.of(new SqlIntervalQualifier(TimeUnit.YEAR, null, SqlParserPos.ZERO));
+ String literalValue = String.valueOf(segment.getLiterals());
+ if (TRIM_FUNCTION_FLAGS.contains(literalValue)) {
+ return Optional.of(SqlLiteral.createSymbol(Flag.valueOf(literalValue), SqlParserPos.ZERO));
}
- if ("SECOND".equals(segment.getLiterals())) {
- return Optional.of(new SqlIntervalQualifier(TimeUnit.SECOND, null, SqlParserPos.ZERO));
+ if (TIME_UNIT_NAMES.contains(literalValue)) {
+ return Optional.of(new SqlIntervalQualifier(TimeUnit.valueOf(literalValue), null, SqlParserPos.ZERO));
}
if (segment.getLiterals() instanceof Integer || segment.getLiterals() instanceof BigDecimal) {
- return Optional.of(SqlLiteral.createExactNumeric(String.valueOf(segment.getLiterals()), SqlParserPos.ZERO));
- }
- if (TRIM_FUNCTION_FLAGS.contains(String.valueOf(segment.getLiterals()))) {
- return Optional.of(SqlLiteral.createSymbol(Flag.valueOf(String.valueOf(segment.getLiterals())), SqlParserPos.ZERO));
+ return Optional.of(SqlLiteral.createExactNumeric(literalValue, SqlParserPos.ZERO));
}
if (segment.getLiterals() instanceof String) {
- return Optional.of(SqlLiteral.createCharString(String.valueOf(segment.getLiterals()), SqlParserPos.ZERO));
+ return Optional.of(SqlLiteral.createCharString(literalValue, SqlParserPos.ZERO));
}
return Optional.empty();
}