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); }
