Hi, everyone. I’d like to propose FLIP-566: Introduce a new NO UPDATE column constraint[1]. Flink has introduced the Delta Join, whose core advantage lies in replacing redundant local state storage with direct queries to external storage systems (e.g., Apache Fluss). It currently relies on the upsert key, which ensures correct changelog processing without UPDATE_BEFORE messages. But this assumes the join key must be part of the primary key. As modern storage systems increasingly support general-purpose secondary secondary indexes (not limited to primary keys), this restriction is becoming outdated. We need a new semantic mechanism to guarantee the immutability of the join key—specifically, that for a given primary key, the column values comprising the join key cannot be modified. Looking forward to your feedback.
[1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-566%3A+Introduce+a+new+NO+UPDATE+constraint -- Best! Xuyang
