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 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.
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