This is an automated email from the ASF dual-hosted git repository. hui pushed a commit to branch lmh/fillCheckDebug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 1015abafb75493b0dba00c7ea2462e2d7153b8f5 Author: Minghui Liu <[email protected]> AuthorDate: Fri Jul 1 17:35:17 2022 +0800 fix datatype check --- .../src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java | 4 ++++ .../apache/iotdb/db/mpp/plan/statement/literal/BooleanLiteral.java | 2 +- .../org/apache/iotdb/db/mpp/plan/statement/literal/DoubleLiteral.java | 4 +++- .../org/apache/iotdb/db/mpp/plan/statement/literal/LongLiteral.java | 3 ++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java index 9885f8b29e..190a245ee1 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java @@ -414,6 +414,10 @@ public class Analyzer { } } } else if (fillComponent.getFillPolicy() == FillPolicy.LINEAR) { + if (queryStatement.isAlignByDevice()) { + throw new SemanticException(""); + } + for (Expression fillColumn : fillColumnList) { TSDataType checkedDataType = typeProvider.getType(fillColumn.getExpressionString()); if (!checkedDataType.isNumeric()) { diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/BooleanLiteral.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/BooleanLiteral.java index 132024e9a0..203badb1de 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/BooleanLiteral.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/BooleanLiteral.java @@ -54,7 +54,7 @@ public class BooleanLiteral extends Literal { @Override public boolean isDataTypeConsistency(TSDataType dataType) { - return dataType == TSDataType.BOOLEAN; + return dataType == TSDataType.BOOLEAN || dataType == TSDataType.TEXT; } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/DoubleLiteral.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/DoubleLiteral.java index 508ba4f514..3647f95b15 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/DoubleLiteral.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/DoubleLiteral.java @@ -53,7 +53,9 @@ public class DoubleLiteral extends Literal { @Override public boolean isDataTypeConsistency(TSDataType dataType) { - return dataType == TSDataType.FLOAT || dataType == TSDataType.DOUBLE; + return dataType == TSDataType.FLOAT + || dataType == TSDataType.DOUBLE + || dataType == TSDataType.TEXT; } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/LongLiteral.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/LongLiteral.java index dd9e3c507f..16767f2210 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/LongLiteral.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/literal/LongLiteral.java @@ -60,7 +60,8 @@ public class LongLiteral extends Literal { return dataType == TSDataType.INT32 || dataType == TSDataType.INT64 || dataType == TSDataType.FLOAT - || dataType == TSDataType.DOUBLE; + || dataType == TSDataType.DOUBLE + || dataType == TSDataType.TEXT; } @Override
