Hi Eduard,

That makes sense. Thanks.

Maybe we can already anticipate a little and add a "catalog-level
versioning" capability as it's a feature supported by Nessie catalog
for instance ?
We can also imagine a more generic capability like "version scope".

Regards
JB

On Thu, Jun 20, 2024 at 3:47 PM Eduard Tudenhoefner
<etudenhoef...@apache.org> wrote:
>
> Hey JB,
>
> If adding UDFs would require adding new endpoints, then you'd also add a udf 
> capability when adding UDF support to the REST catalog.
> That way a client knows whether it's safe to call the UDF endpoints on a 
> given server.
>
> Eduard
>
> On Thu, Jun 20, 2024 at 1:59 PM Jean-Baptiste Onofré <j...@nanthrax.net> 
> wrote:
>>
>> Hi Eduard
>>
>> It looks good to me. I have a question however :)
>>
>> Later, Imagine, we add UDF support in Iceberg. Does it mean that you
>> will need to update REST Spec (ConfigResponse/capabilities) to add
>> this capability ?
>> For consistency, I think it makes sense as I don't think we often add
>> new capability. And also as every REST server would have to implement
>> it, /config is generic enough to add custom/new capabilities (but the
>> client will have to deal with capability).
>>
>> Am I right?
>>
>> Thanks !
>> Regards
>> JB
>>
>> On Thu, Jun 20, 2024 at 1:28 PM Eduard Tudenhoefner
>> <etudenhoef...@apache.org> wrote:
>> >
>> > Hey everyone,
>> >
>> > I'd like to bring up the discussion around describing REST server 
>> > capabilities via the /config endpoint.
>> > There is PR #9940 that describes the OpenAPI spec changes.
>> >
>> > Mainly we'd like to have a capabilities field in the ConfigResponse that 
>> > allows servers to indicate to clients which capabilities are being 
>> > supported.
>> >
>> > So far we have the following capabilities:
>> >
>> > tables
>> > views
>> > remote-signing
>> > vended-credentials
>> > multi-table-commit
>> > register-table
>> > table-metrics
>> > oauth2
>> >
>> >
>> > The general idea behind a capability is that if e.g. a server supports 
>> > views, then that server must implement all endpoints grouped under that 
>> > capability.
>> > It's worth noting that the /config endpoint is currently being implicit 
>> > (meaning that every REST server would have to implement it).
>> >
>> > One discussion point that came up during review is how we want to handle 
>> > capabilities and backwards compatibility and what the default capability 
>> > would be, since older servers don't know anything about capabilities (in 
>> > such a case we could assume that the default capabilities would be oauth2 
>> > / tables).
>> >
>> > Are there any other capabilities that we'd like to include in the list?
>> >
>> > Eduard

Reply via email to