Hi all, I think option A is the best suggestion out of these. It's semantically accurate and aligns with established database and SQL terminology.
Best regards, Martijn On Fri, Jun 20, 2025 at 2:15 PM Arvid Heise <ar...@apache.org> wrote: > I'm also in favor of Option A of the presented options. > > I had one additional idea (Option F) that mixes two approaches B+E > > ROW_WISE_TABLE > SET_PARTITIONED_TABLE > > You'd have ROW and SET that comes from the SQL standard but you also have a > stronger connection between SET and partitioning. > > Best, > > Arvid > > On Fri, Jun 20, 2025 at 3:01 AM Hao Li <h...@confluent.io.invalid> wrote: > > > +1 for option A. It's consistent with calcite naming. > > > > On Thu, Jun 19, 2025 at 11:38 AM Sergey Nuyanzin <snuyan...@gmail.com> > > wrote: > > > > > Thanks for raising this > > > +1 for option A > > > > > > On Thu, Jun 19, 2025 at 4:05 PM Gustavo de Morais > > > <gustavopg...@gmail.com> wrote: > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Best regards, > > > Sergey > > > > > >