From 30ad70f2eca08d0be6046b984000ed8269ffbe76 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:32:03 +0800 Subject: [PATCH] none --- .../main/java/org/apache/tsfile/utils/Constants.java | 8 ++++++++ .../java/org/apache/tsfile/utils/ReadWriteIOUtils.java | 10 +++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/java/common/src/main/java/org/apache/tsfile/utils/Constants.java b/java/common/src/main/java/org/apache/tsfile/utils/Constants.java index cbdb26af1..fd89d14a9 100644 --- a/java/common/src/main/java/org/apache/tsfile/utils/Constants.java +++ b/java/common/src/main/java/org/apache/tsfile/utils/Constants.java @@ -102,4 +102,12 @@ private Constants() {} // can't construct JVM_MAJOR_VERSION > 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 9); public static final boolean JRE_IS_MINIMUM_JAVA11 = JVM_MAJOR_VERSION > 1 || (JVM_MAJOR_VERSION == 1 && JVM_MINOR_VERSION >= 11); + + public static class None { + private None() { + // Singleton + } + } + + public static final None NONE = new None(); } diff --git a/java/tsfile/src/main/java/org/apache/tsfile/utils/ReadWriteIOUtils.java b/java/tsfile/src/main/java/org/apache/tsfile/utils/ReadWriteIOUtils.java index e6b72e40d..c7c7a54fa 100644 --- a/java/tsfile/src/main/java/org/apache/tsfile/utils/ReadWriteIOUtils.java +++ b/java/tsfile/src/main/java/org/apache/tsfile/utils/ReadWriteIOUtils.java @@ -48,6 +48,7 @@ import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.FLOAT; import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.INTEGER; import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.LONG; +import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.NONE; import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.NULL; import static org.apache.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.STRING; @@ -1168,7 +1169,8 @@ public enum ClassSerializeId { BOOLEAN, STRING, TAG, - NULL + NULL, + NONE, } public static void writeObject(Object value, DataOutputStream outputStream) { @@ -1195,6 +1197,8 @@ public static void writeObject(Object value, DataOutputStream outputStream) { outputStream.write(Boolean.TRUE.equals(value) ? 1 : 0); } else if (value == null) { outputStream.write(NULL.ordinal()); + } else if (value == Constants.NONE) { + outputStream.write(NONE.ordinal()); } else { outputStream.write(STRING.ordinal()); byte[] bytes = value.toString().getBytes(); @@ -1229,6 +1233,8 @@ public static void writeObject(Object value, ByteBuffer byteBuffer) { byteBuffer.put(Boolean.TRUE.equals(value) ? (byte) 1 : (byte) 0); } else if (value == null) { byteBuffer.putInt(NULL.ordinal()); + } else if (value == Constants.NONE) { + byteBuffer.putInt(NONE.ordinal()); } else { byteBuffer.putInt(STRING.ordinal()); byte[] bytes = value.toString().getBytes(); @@ -1257,6 +1263,8 @@ public static Object readObject(ByteBuffer buffer) { return new Binary(bytes); case NULL: return null; + case NONE: + return Constants.NONE; case STRING: default: length = buffer.getInt();