Copilot commented on code in PR #5085:
URL: https://github.com/apache/texera/pull/5085#discussion_r3251736508


##########
amber/src/main/python/core/storage/document_factory.py:
##########
@@ -96,19 +98,32 @@ def create_document(uri: str, schema: Schema) -> 
VirtualDocument:
             )
 
     @staticmethod
-    def open_document(uri: str) -> typing.Tuple[VirtualDocument, 
Optional[Schema]]:
+    def document_exists(uri: str) -> bool:
+        """
+        Check whether a document exists at the given URI without opening it.
+
+        Returns True iff the underlying storage already has an entry for this
+        URI (e.g., an iceberg table at the resolved namespace + storage key).
+        """
         parsed_uri = urlparse(uri)
-        if parsed_uri.scheme == "vfs":
+        if parsed_uri.scheme == VFSURIFactory.VFS_FILE_URI_SCHEME:
             _, _, _, resource_type = VFSURIFactory.decode_uri(uri)
+            namespace = DocumentFactory._resolve_namespace(resource_type)
+            storage_key = DocumentFactory.sanitize_uri_path(parsed_uri)
+            return IcebergCatalogInstance.get_instance().table_exists(
+                f"{namespace}.{storage_key}"
+            )
 
-            match resource_type:
-                case VFSResourceType.RESULT:
-                    namespace = StorageConfig.ICEBERG_TABLE_RESULT_NAMESPACE
-                case VFSResourceType.STATE:
-                    namespace = StorageConfig.ICEBERG_TABLE_STATE_NAMESPACE
-                case _:
-                    raise ValueError(f"Resource type {resource_type} is not 
supported")
+        raise NotImplementedError(
+            f"Unsupported URI scheme: {parsed_uri.scheme} for checking 
document existence"
+        )
 
+    @staticmethod
+    def open_document(uri: str) -> typing.Tuple[VirtualDocument, 
Optional[Schema]]:
+        parsed_uri = urlparse(uri)
+        if parsed_uri.scheme == "vfs":

Review Comment:
   `open_document` still checks the scheme with a hard-coded string (`"vfs"`), 
while `create_document` and the new `document_exists` use 
`VFSURIFactory.VFS_FILE_URI_SCHEME`. This makes the behavior inconsistent and 
could break if the scheme constant ever changes. Use 
`VFSURIFactory.VFS_FILE_URI_SCHEME` here as well for consistency.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to