It seems TCK will make sure the logic of the REST is consistent. So in the future iceberg will make all things align.
We can merge the current PR to avoid a burden on the user. WDYT? Thanks! Yong On Thu, 11 Jul 2024 at 01:04, Ajantha Bhat <ajanthab...@gmail.com> wrote: > Thanks for initiating this discussion. > > I suggested > <https://github.com/apache/iceberg/pull/10630#issuecomment-2216704059> > moving it to the mailing list because the javadoc of SupportsNamespaces > and the REST API spec don't clearly define how to handle missing parent > namespaces. > > I'm generally +1 of the idea to automatically create missing namespaces > now, as it reduces the burden on the user. However, I believe this approach > should be standardized and adopted by all catalogs that support multi-level > namespaces to avoid confusion. > That is we need to update the java doc and REST API spec descriptions for > this behavior once we have consensus. > > - Ajantha > > On Wed, Jul 10, 2024 at 7:44 PM Renjie Liu <liurenjie2...@gmail.com> > wrote: > >> Hi, Yong: >> >> Thanks for reporting this. >> >> Do you think iceberg needs to standardize the REST spec to make sure the >>> logic is the same for using the SupportsNamespace interface? >> >> >> Yes, I think it's valuable. I remember @Jean-Baptiste Onofré >> <j...@nanthrax.net> had a proposal for TCK of rest catalog, and this case >> shows that TCK has a lot of merit. >> >> On Wed, Jul 10, 2024 at 5:47 PM Yong Zhang <zhangyong1025...@gmail.com> >> wrote: >> >>> Hi all, >>> >>> When I was using the SupportsNamespaces to do the namespace >>> create and exists check with other catalog services that implement >>> the Iceberg REST API, I found it has different results with different >>> catalog services. Iceberg has provided a standard API to do the >>> namespace operations, but seems iceberg does not have a standard >>> spec on the REST API implementation. That makes the other catalog >>> services implement differently and then breaks the SupportsNamespace >>> interface usage. >>> >>> Do you think iceberg needs to standardize the REST spec to make sure the >>> logic is the same for using the SupportsNamespace interface? >>> Otherwise, the SupportsNamespace interface is meaningless because the >>> client >>> needs to handle different logic to create a namespace or other operations >>> when using different catalog. >>> >>> For example, Nessie doesn't support auto-creating parent namespace: >>> https://github.com/apache/iceberg/pull/10630 >>> But the JDBC catalog supports it. >>> >>> Thanks. >>> Yong >>> >>>