apache / apache/fluss

[flink] Support partial update for primary-key tables

Open
#3,725 1 comment 1 reaction 1 assignee Claimed by @loserwang1024 View on GitHub
Dominant language
Java
Stars
2.1k
Forks
625
Avg merge
3d 14h
Merged PRs (30d)
97

Description

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar.

### Motivation

Currently, Fluss Flink Connector only supports limited UPDATE statements on primary-key tables. In practice, UPDATE is only available for simple primary-key based updates, while general batch UPDATE with filters still cannot be executed because the source side does not support the required row-level modification scan in batch mode.

This issue aims to support batch UPDATE for Fluss primary-key tables, including partial update when only a subset of columns is modified.

Users can run batch maintenance or correction jobs, for example:

```sql
UPDATE orders SET status = 'expired'
WHERE dt = '2026-07-21';

UPDATE orders SET amount = amount + 10
WHERE category = 'A';

UPDATE orders SET comment = 'archived'
WHERE update_time < TIMESTAMP '2026-07-01 00:00:00';

### Solution

_No response_

### Anything else?

_No response_

### Willingness to contribute

- [x] I'm willing to submit a PR!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.