From 93a0949564e44f4e81a610b4ba607064e956cd25 Mon Sep 17 00:00:00 2001 From: Nero Date: Wed, 14 Jan 2026 16:57:13 +0800 Subject: [PATCH 1/2] Resolve the problem that python client don't support DATE data type in the IntColumn; Support data type compatible validation in the TimeSeriesMetadata. --- .../org/apache/tsfile/file/metadata/TimeseriesMetadata.java | 2 +- .../apache/tsfile/read/common/block/column/TsBlockSerde.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java index 544489ed4..d9105a4db 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java @@ -328,7 +328,7 @@ public boolean typeMatch(List dataTypes) { } public boolean typeMatch(TSDataType dataType) { - return this.dataType == dataType; + return (this.dataType == dataType) || dataType.isCompatible(getTsDataType()); } @Override diff --git a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/TsBlockSerde.java b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/TsBlockSerde.java index a891553b5..818ac3c2c 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/TsBlockSerde.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/read/common/block/column/TsBlockSerde.java @@ -103,6 +103,9 @@ public ByteBuffer serialize(TsBlock tsBlock) throws IOException { // Value column data types. for (int i = 0; i < tsBlock.getValueColumnCount(); i++) { + if (tsBlock.getColumn(i).getDataType() == TSDataType.DATE) { + ((IntColumn) tsBlock.getColumn(i)).modifyDataType(TSDataType.INT32); + } tsBlock.getColumn(i).getDataType().serializeTo(dataOutputStream); } From ef59c10de97ce22eea88d76c6329b5b5d5a44257 Mon Sep 17 00:00:00 2001 From: Nero Date: Wed, 14 Jan 2026 17:10:40 +0800 Subject: [PATCH 2/2] Fix. --- .../org/apache/tsfile/file/metadata/TimeseriesMetadata.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java index d9105a4db..96f9c5623 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/file/metadata/TimeseriesMetadata.java @@ -328,7 +328,7 @@ public boolean typeMatch(List dataTypes) { } public boolean typeMatch(TSDataType dataType) { - return (this.dataType == dataType) || dataType.isCompatible(getTsDataType()); + return dataType.isCompatible(getTsDataType()); } @Override