Hi Timo, +1 (non-binding) for option A. Thanks for trying to address feedback quickly.
Kind regards, Gustavo de Morais On Thu, 19 Jun 2025 at 15:51, Timo Walther <twal...@apache.org> wrote: > Hi everyone, > > I'm currently polishing FLIP-440, I would like to apply some last minute > changes before the first release of PTFs for Flink 2.1. I've already > collected initial user feedback and it seems that the name for > annotations of table arguments is not precise enough. > > As always, naming is a hard problem in software engineering. > > For background, please take a look at this docs section: > > > https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/ptfs/#table-semantics-and-virtual-processors > > Currently, a PTF signature can look like when taking a table as an > argument: > > // Untyped with set semantics > eval(@ArgumentHint(TABLE_AS_SET) Row order); > > // Typed with set semantics > eval(@ArgumentHint(TABLE_AS_SET) Order order); > > // Untyped with row semantics > eval(@ArgumentHint(TABLE_AS_ROW) Row order); > > // Typed with row semantics > eval(@ArgumentHint(TABLE_AS_ROW) Order order); > > The annotation value confuses people, so I would ask for renaming this > part of the API. > > Option A: > ROW_SEMANTIC_TABLE > SET_SEMANTIC_TABLE > > Option B: > ROW_WISE_TABLE > SET_WISE_TABLE > > Option C: > ROW_SCOPED_TABLE > SET_SCOPED_TABLE > > Option D: > KEYED_TABLE > UNKEYED_TABLE > > Option E: > PARTITIONED_TABLE > ROW_WISE_TABLE > > Option A/B/C are closer to SQL standard and not too far away from > current docs. Option D is closer to Flink DataStream API but could be > confusing if no PARTITION BY clause is given but still the table could > be keyed. Option E neither takes SQL standard nor DataStream API as a > reference. > > Personally, I would vote for Option A. > > Looking forward to your opinion. > > Cheers, > Timo > > >