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

jackietien pushed a commit to branch ty/typemismatch
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 244f3de08d341af705d722e0a9a1d013a8b02c07
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Apr 2 16:11:55 2024 +0800

    Fix mismatched dataType with same name
---
 .../execution/operator/source/SeriesScanUtil.java            | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesScanUtil.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesScanUtil.java
index 670e07be567..52fba27f076 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesScanUtil.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/SeriesScanUtil.java
@@ -1089,12 +1089,6 @@ public class SeriesScanUtil {
       return;
     }
 
-    // skip if data type is mismatched which may be caused by delete
-    if (!firstTimeSeriesMetadata.typeMatch(getTsDataTypeList())) {
-      skipCurrentFile();
-      return;
-    }
-
     if (currentFileOverlapped() || firstTimeSeriesMetadata.isModified()) {
       return;
     }
@@ -1131,7 +1125,8 @@ public class SeriesScanUtil {
   private void unpackSeqTsFileResource() throws IOException {
     ITimeSeriesMetadata timeseriesMetadata =
         loadTimeSeriesMetadata(orderUtils.getNextSeqFileResource(true), true);
-    if (timeseriesMetadata != null) {
+    // skip if data type is mismatched which may be caused by delete
+    if (timeseriesMetadata != null && 
timeseriesMetadata.typeMatch(getTsDataTypeList())) {
       timeseriesMetadata.setSeq(true);
       seqTimeSeriesMetadata.add(timeseriesMetadata);
     }
@@ -1140,7 +1135,8 @@ public class SeriesScanUtil {
   private void unpackUnseqTsFileResource() throws IOException {
     ITimeSeriesMetadata timeseriesMetadata =
         loadTimeSeriesMetadata(orderUtils.getNextUnseqFileResource(true), 
false);
-    if (timeseriesMetadata != null) {
+    // skip if data type is mismatched which may be caused by delete
+    if (timeseriesMetadata != null && 
timeseriesMetadata.typeMatch(getTsDataTypeList())) {
       timeseriesMetadata.setSeq(false);
       unSeqTimeSeriesMetadata.add(timeseriesMetadata);
     }

Reply via email to