Skip to content

[flink] Support batch UPDATE and partial update for primary-key tables #3725

Description

@loserwang1024

Search before asking

  • I searched in the 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:

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!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions