Fokko commented on issue #406: URL: https://github.com/apache/iceberg-python/issues/406#issuecomment-1948187320
@Gowthami03B That would be great! 👍 One note here: > important if we just want to check that a table exists in a namespace. I'd argue this is the same as calling list_tables and checking if the table exists in the returned list, and hence isn't as critical to implement as 'CREATE TABLE IF NOT EXISTS' I think it would make more sense to do an actual `load_table` instead of calling `list_tables`, mostly because there is a discussion on the REST spec to add pagination. Calling the `list_table` would then result in many consecutive requests to build up the list, which is not very performant. For the `load_table` we load the metadata, but I think that's okay. Thanks @syun64 for summarizing the options. > An alternative is just to ask users to try and catch TableAlreadyExistsError in their code when calling create_table I believe this is the most Pythonic way of doing it, but I agree that we could mirror the SQL `CREATE IF NOT EXISTS`. How about adding this to the `Catalog(ABC)` itself. This way we don't have to add this logic to each of the implementations: ```python catalog = load_catalog('default') catalog.create_table_if_not_exists('schema.table', schema=...) ``` Thoughts? -- 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