Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Based on Calcite-4865[3], we can already use Session Window TVF syntax as described in FLIP-145. However, in Calcite, a Table Function contains PARTITION BY or ORDER BY will be converted into a PTF (Polymorphic Table function). PTF has some key features that need to be set as follows. (copied from Calcite documentation[4])

  1. ROW semantics or SET semantics
    1. Row semantics means that the result of the table function depends on a row-by-row basis.
    2. Set semantics means that the outcome of the function depends on how the data is partitioned.

      2. Whether the table function can generate a result row even if the input table is empty

    1. If the table function can generate a result row on empty input, the table is said to be “keep when empty”.
    2. The alternative is called “prune when empty”, meaning that the result would be pruned out if the input table is empty.

      3. Whether the input table supports pass-through columns or not

    1. Pass-through columns is a mechanism enabling the table function to copy every column of an input row into columns of an output row.

...