In terms of readability, they are similar. I prefer the table-function as
it minimizes the addition of new, non-standard SQL syntax. It's also
implicitly compatible with any future SQL syntax that is standardized for
changestreams, as we can rewrite the table function to expand to this new
syntax.

On Mon, Oct 12, 2026 at 2:13 PM Ahmed Abualsaud via dev <[email protected]>
wrote:

> Hey everyone,
>
> Surfacing a question raised from the doc regarding how users should ask
> for a table's changelog. I'd like more input before building it.
>
> *Option 1*: a clause after the table name (similar to Spark, Snowflake)
>
>    SELECT * FROM cat.db.table *CHANGES* FROM VERSION 123 TO VERSION 456;
>    SELECT * FROM cat.db.table *CHANGES* FROM TIMESTAMP '2026-10-01' TO 
> TIMESTAMP
> '2026-10-12';
>
> *Option 2*: a table function (similar to BigQuery, Databricks)
>
>    SELECT * FROM *CHANGES(*cat.db.table, 123, 456*);*
>    SELECT * FROM *CHANGES(*cat.db.table, '2026-10-01', '2026-10-12'*);*
>
> Which syntax would you prefer, and why? More examples are in the doc
> <https://docs.google.com/document/d/1k_RBQmSvf0H5ZayRf2E_oUK1HpcBwryiJBH5BJv2mwA/edit?tab=t.0>
>  if
> that helps.
>
>
> On Wed, Oct 7, 2026 at 1:30 PM Ahmed Abualsaud <[email protected]>
> wrote:
>
>> Hey everyone,
>>
>>
>> I'd like to propose two additions to how Beam SQL refers to a table:
>>
>> 1. *CHANGES*, to read a table's row-level changes instead of its current
>> contents:
>>
>>    SELECT * FROM cat.db.orders CHANGES FROM VERSION 1 TO VERSION 5
>>
>> 2. *WITH*, to set connector options for one query:
>>
>>    INSERT INTO cat.db.events WITH ('distribution_mode' = 'hash') SELECT
>> ...
>>
>> Both follow Spark SQL's syntax (SPARK-55948
>> <https://issues.apache.org/jira/browse/SPARK-55948> and SPARK-36680
>> <https://issues.apache.org/jira/browse/SPARK-36680>) and would improve
>> ease of use.
>>
>> More details and example usage in the doc. Comments and suggestions are
>> welcome!
>>
>>
>>
>> https://docs.google.com/document/d/1k_RBQmSvf0H5ZayRf2E_oUK1HpcBwryiJBH5BJv2mwA/edit
>>
>> Thanks,
>>
>> Ahmed
>>
>>

Reply via email to