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
>
>
>

Reply via email to