kevinjqliu commented on code in PR #2826:
URL: https://github.com/apache/iceberg-python/pull/2826#discussion_r2644858240
##########
pyiceberg/catalog/rest/__init__.py:
##########
@@ -382,10 +399,16 @@ def _split_identifier_for_path(
self, identifier: str | Identifier | TableIdentifier, kind:
IdentifierKind = IdentifierKind.TABLE
) -> Properties:
if isinstance(identifier, TableIdentifier):
- return {"namespace":
NAMESPACE_SEPARATOR.join(identifier.namespace.root), kind.value:
identifier.name}
+ return {
+ "namespace":
self._encode_namespace_path(tuple(identifier.namespace.root)),
+ kind.value: quote(identifier.name, safe=""),
Review Comment:
curious why `quote` is used here
##########
pyiceberg/catalog/rest/__init__.py:
##########
@@ -228,6 +231,10 @@ def __init__(self, name: str, **properties: str):
self.uri = properties[URI]
self._fetch_config()
self._session = self._create_session()
+ separator_from_properties =
self.properties.get(NAMESPACE_SEPARATOR_PROPERTY, DEFAULT_NAMESPACE_SEPARATOR)
+ if not separator_from_properties:
+ raise ValueError("Namespace separator cannot be an empty string")
+ self._namespace_separator = unquote(separator_from_properties)
Review Comment:
should we move this logic inside `self._fetch_config()`? since its part of
the /v1/config flow to override the namespace separator
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]