Fokko commented on code in PR #305:
URL: https://github.com/apache/iceberg-python/pull/305#discussion_r1466705205


##########
pyiceberg/catalog/dynamodb.py:
##########
@@ -152,6 +156,14 @@ def create_table(
             ValueError: If the identifier is invalid, or no path is given to 
store metadata.
 
         """
+        if not isinstance(schema, Schema):
+            import pyarrow as pa
+
+            from pyiceberg.io.pyarrow import _ConvertToIcebergWithFreshIds, 
pre_order_visit_pyarrow
+
+            if isinstance(schema, pa.Schema):
+                schema: Schema = pre_order_visit_pyarrow(schema, 
_ConvertToIcebergWithFreshIds())  # type: ignore

Review Comment:
   Alright, maybe then a function in `catalog/__init__.py` that will just do 
the check:
   
   ```python
   def _convert_schema_if_needed(schema: Union[Schema, "pa.Schema"]) -> Schema:
       try:
           import pa
           # Do the conversion with all the imports 
       except ModuleNotFoundError:
           pass
   
       if not isinstance(schema, Schema):
           raise ValueError(..)
       return schema
   
   ```



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to