[
https://issues.apache.org/jira/browse/FLINK-39538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ramin Gharib updated FLINK-39538:
---------------------------------
Summary: FROM_CHANGELOG: Flat stream with op codes → upsert stream (was:
Apply conditional SET_SEMANTIC_TABLE trait to FROM_CHANGELOG)
> FROM_CHANGELOG: Flat stream with op codes → upsert stream
> ---------------------------------------------------------
>
> Key: FLINK-39538
> URL: https://issues.apache.org/jira/browse/FLINK-39538
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / Planner
> Reporter: Ramin Gharib
> Priority: Major
>
> FROM_CHANGELOG used to be locked to row semantics. With the conditional trait
> API introduced for TO_CHANGELOG, the input argument now switches to set
> semantics when the call provides PARTITION BY:
>
> {code:java}
> SELECT * FROM FROM_CHANGELOG(
> input => TABLE cdc_stream PARTITION BY id
> ){code}
> The planner inserts an Exchange(hash[id]) so rows with the same key are
> co-located in the same parallel operator instance. Without PARTITION BY,
> behavior is unchanged: each row is processed independently with row
> semantics.
>
> The runtime function is unaffected — only the trait declaration and the
> resulting parallel execution layout change.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)