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(); } }
