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..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; + return 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); }