You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to get a table containing a slash character in the name from the Iceberg REST catalog, pyiceberg doesn't url-encode the table name, resulting in an incorrect route.
e.g:
table name: /some/table
api route: v1/namespaces/schema/tables//some/table which returns HTTP Error 400
The table name that's sent to the REST api should be url-encoded resulting in v1/namespaces/schema/tables/%2Fsome%2Ftable which does in fact work.
Hello @RoseGoldIsntGay, how did you create this table? I couldn't find any specifications in the Iceberg documentation about naming, but I believe the convention is that names may only contain alphanumeric characters and the symbols _ or -.
Apache Iceberg version
0.4.0
Please describe the bug 馃悶
When trying to get a table containing a slash character in the name from the Iceberg REST catalog, pyiceberg doesn't url-encode the table name, resulting in an incorrect route.
e.g:
table name:
/some/table
api route:
v1/namespaces/schema/tables//some/table
which returns HTTP Error 400The table name that's sent to the REST api should be url-encoded resulting in
v1/namespaces/schema/tables/%2Fsome%2Ftable
which does in fact work.Adding
urllib.parse.quote_plus(identifier.name)
in the following line should solve this issue.https://github.com/apache/iceberg-python/blob/main/pyiceberg/catalog/rest.py#L356
The text was updated successfully, but these errors were encountered: