This is an automated email from the ASF dual-hosted git repository.
justinchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new b6c7300aa0c Load: Fixed the bug that active load may fail for table
model (#17124)
b6c7300aa0c is described below
commit b6c7300aa0cda9a9b373f2807ab45a8ba93569de
Author: Caideyipi <[email protected]>
AuthorDate: Fri Jan 30 21:20:32 2026 +0800
Load: Fixed the bug that active load may fail for table model (#17124)
---
.../db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java | 6 +++++-
.../iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java | 2 +-
.../queryengine/plan/planner/plan/node/load/LoadTsFileNode.java | 2 +-
.../db/queryengine/plan/statement/crud/LoadTsFileStatement.java | 9 +++++++++
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java
index 1bcb6a26426..9d350d97c82 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/load/LoadTsFileAnalyzer.java
@@ -574,7 +574,11 @@ public class LoadTsFileAnalyzer implements AutoCloseable {
getOrCreateTableSchemaCache().flush();
if (getOrCreateTableSchemaCache().isNeedDecode4DifferentTimeColumn()) {
- loadTsFileTableStatement.enableNeedDecode4TimeColumn();
+ if (isTableModelStatement) {
+ loadTsFileTableStatement.enableNeedDecode4TimeColumn();
+ } else {
+ loadTsFileTreeStatement.enableNeedDecode4TimeColumn();
+ }
}
getOrCreateTableSchemaCache().clearTagColumnMapper();
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
index a36564878df..c03be7e1bcc 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
@@ -549,7 +549,7 @@ public class LogicalPlanVisitor extends
StatementVisitor<PlanNode, MPPQueryConte
loadTsFileStatement.getResources(),
isTableModel,
loadTsFileStatement.getDatabase(),
- false);
+ loadTsFileStatement.isNeedDecode4TimeColumn());
}
@Override
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java
index 25ad9f3a5c7..e70bf08fd52 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java
@@ -128,7 +128,7 @@ public class LoadTsFileNode extends WritePlanNode {
database,
statement.isDeleteAfterLoad(),
statement.getWritePointCount(i),
- false));
+ needDecode4TimeColumn));
}
return res;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
index a51dcaf09d2..e45603a14f9 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
@@ -68,6 +68,7 @@ public class LoadTsFileStatement extends Statement {
private List<Boolean> isTableModel;
private List<TsFileResource> resources;
private List<Long> writePointCountList;
+ private boolean needDecode4TimeColumn;
public LoadTsFileStatement(String filePath) throws FileNotFoundException {
this.file = new File(filePath).getAbsoluteFile();
@@ -223,6 +224,14 @@ public class LoadTsFileStatement extends Statement {
return isGeneratedByPipe;
}
+ public boolean isNeedDecode4TimeColumn() {
+ return needDecode4TimeColumn;
+ }
+
+ public void enableNeedDecode4TimeColumn() {
+ this.needDecode4TimeColumn = true;
+ }
+
public List<File> getTsFiles() {
return tsFiles;
}