You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tsfile.apache.org by ja...@apache.org on 2026/04/22 09:15:16 UTC

(tsfile) branch develop updated: Implemented NONE value

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

JackieTien97 pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/develop by this push:
     new 3fa28f52 Implemented NONE value
3fa28f52 is described below

commit 3fa28f52b5cfd372ee8caea8062a97b57f35f9cc
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Wed Apr 22 17:15:10 2026 +0800

    Implemented NONE value
---
 .../src/main/java/org/apache/tsfile/utils/Constants.java       |  8 ++++++++
 .../main/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 cbdb26af..fd89d14a 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 @@ public final class Constants {
       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 e6b72e40..c7c7a54f 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.DOUBLE;
 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 class ReadWriteIOUtils {
     BOOLEAN,
     STRING,
     TAG,
-    NULL
+    NULL,
+    NONE,
   }
 
   public static void writeObject(Object value, DataOutputStream outputStream) {
@@ -1195,6 +1197,8 @@ public class ReadWriteIOUtils {
         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 class ReadWriteIOUtils {
       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 class ReadWriteIOUtils {
         return new Binary(bytes);
       case NULL:
         return null;
+      case NONE:
+        return Constants.NONE;
       case STRING:
       default:
         length = buffer.getInt();