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

jackietien pushed a commit to branch object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 3c3de7a1ae7be11b0327a35bbbca4acbb4eab4aa
Author: JackieTien97 <[email protected]>
AuthorDate: Mon Jul 7 18:30:40 2025 +0800

    Support READ_OBJECT
---
 .../dag/column/unary/scalar/ReadObjectColumnTransformer.java   | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReadObjectColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReadObjectColumnTransformer.java
index 9aa4187f3d6..74db2d31ca3 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReadObjectColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/ReadObjectColumnTransformer.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.queryengine.transformation.dag.column.unary.scalar;
 
 import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
+import org.apache.iotdb.commons.exception.ObjectFileNotExist;
 import 
org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
 import 
org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
 import 
org.apache.iotdb.db.queryengine.transformation.dag.column.unary.UnaryColumnTransformer;
@@ -131,7 +132,12 @@ public class ReadObjectColumnTransformer extends 
UnaryColumnTransformer {
 
   private File getObjectPathFromBinary(Binary binary) {
     byte[] bytes = binary.getValues();
-    return TIER_MANAGER.getObjectFile(
-        new String(bytes, 8, bytes.length - 8, TSFileConfig.STRING_CHARSET));
+    String relativeObjectFilePath =
+        new String(bytes, 8, bytes.length - 8, TSFileConfig.STRING_CHARSET);
+    Optional<File> file = 
TIER_MANAGER.getAbsoluteObjectFilePath(relativeObjectFilePath);
+    if (!file.isPresent()) {
+      throw new ObjectFileNotExist(relativeObjectFilePath);
+    }
+    return file.get();
   }
 }

Reply via email to