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

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

commit 27fda6a03a096ae6e9a44af209c6304e08088d1f
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Jan 9 15:30:01 2024 +0800

    Fix delete and recreate the same timeseries with different datatype bug
---
 .../org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
 
b/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
index 956ce1c0..14f1d4a6 100644
--- 
a/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
+++ 
b/tsfile/src/main/java/org/apache/tsfile/file/metadata/AlignedTimeSeriesMetadata.java
@@ -191,13 +191,16 @@ public class AlignedTimeSeriesMetadata implements 
ITimeSeriesMetadata {
   @Override
   public boolean typeMatch(List<TSDataType> dataTypes) {
     if (valueTimeseriesMetadataList != null) {
+      int notMatchCount = 0;
       for (int i = 0, size = dataTypes.size(); i < size; i++) {
         TimeseriesMetadata valueTimeSeriesMetadata = 
valueTimeseriesMetadataList.get(i);
         if (valueTimeSeriesMetadata != null
             && !valueTimeSeriesMetadata.typeMatch(dataTypes.get(i))) {
-          return false;
+          valueTimeseriesMetadataList.set(i, null);
+          notMatchCount++;
         }
       }
+      return notMatchCount != dataTypes.size();
     }
     return true;
   }

Reply via email to