You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2024/10/29 04:44:17 UTC

(iotdb) branch master updated: Pipe: Disable sloppyPattern in PipeHistoricalDataRegionTsFileAndDeletionExtractor & Fix TsFileInsertionEventTableParserTabletIterator does not perform type conversion when parsing data of Date type (#13934)

This is an automated email from the ASF dual-hosted git repository.

rong 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 c372cabd806 Pipe: Disable sloppyPattern in PipeHistoricalDataRegionTsFileAndDeletionExtractor & Fix TsFileInsertionEventTableParserTabletIterator does not perform type conversion when parsing data of Date type (#13934)
c372cabd806 is described below

commit c372cabd8066c53ca2bb459b7659665588bb00a3
Author: Zhenyu Luo <lu...@gmail.com>
AuthorDate: Tue Oct 29 12:44:11 2024 +0800

    Pipe: Disable sloppyPattern in PipeHistoricalDataRegionTsFileAndDeletionExtractor & Fix TsFileInsertionEventTableParserTabletIterator does not perform type conversion when parsing data of Date type (#13934)
---
 .../table/TsFileInsertionEventTableParserTabletIterator.java      | 8 +++++++-
 .../PipeHistoricalDataRegionTsFileAndDeletionExtractor.java       | 3 ---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
index dc65963980a..c33cb742727 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/table/TsFileInsertionEventTableParserTabletIterator.java
@@ -26,6 +26,7 @@ import org.apache.tsfile.file.metadata.TableSchema;
 import org.apache.tsfile.read.common.block.TsBlock;
 import org.apache.tsfile.read.query.executor.TableQueryExecutor;
 import org.apache.tsfile.read.reader.block.TsBlockReader;
+import org.apache.tsfile.utils.DateUtils;
 import org.apache.tsfile.write.record.Tablet;
 import org.apache.tsfile.write.schema.IMeasurementSchema;
 
@@ -35,6 +36,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.NoSuchElementException;
 
+import static org.apache.tsfile.enums.TSDataType.DATE;
+
 public class TsFileInsertionEventTableParserTabletIterator implements Iterator<Tablet> {
 
   private final String tableName;
@@ -116,7 +119,10 @@ public class TsFileInsertionEventTableParserTabletIterator implements Iterator<T
       final int rowIndex = tablet.rowSize;
       tablet.addTimestamp(rowIndex, timestamp);
       for (int i = 0, fieldSize = row.length - 1; i < fieldSize; i++) {
-        final Object value = row[i];
+        final Object value =
+            columnSchemas.get(i).getType() != DATE
+                ? row[i]
+                : DateUtils.parseIntToLocalDate((Integer) row[i]);
         tablet.addValue(columnNames.get(i), rowIndex, value);
         if (value != null && columnTypes.get(i) == Tablet.ColumnType.MEASUREMENT) {
           isAllNull = false;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileAndDeletionExtractor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileAndDeletionExtractor.java
index 84256b38e19..beb39edbfc7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileAndDeletionExtractor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileAndDeletionExtractor.java
@@ -610,9 +610,6 @@ public class PipeHistoricalDataRegionTsFileAndDeletionExtractor
   }
 
   private boolean mayTsFileResourceOverlappedWithPattern(final TsFileResource resource) {
-    if (!sloppyPattern) {
-      return true;
-    }
 
     final Set<IDeviceID> deviceSet;
     try {