Skip to content

Conversation

@polyzos
Copy link
Contributor

@polyzos polyzos commented Nov 27, 2025

No description provided.

String col = specifiedColumns.get(i);
int idx = allFieldNames.indexOf(col);
checkArgument(
idx >= 0, "Column '%s' not found in table schema: %s", col, allFieldNames);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Slightly more context can be provided in the message e.g. "Partial update column '%s' not found in table schema: %s'

@MehulBatra MehulBatra requested a review from Copilot November 27, 2025 18:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for partial updates in the Flink Sink, allowing users to update only specific columns in upsert operations while preserving other column values. The implementation ensures that primary key columns are always included in partial update specifications.

Key Changes:

  • Added setPartialUpdateColumns API to FlussSinkBuilder for specifying which columns to update
  • Implemented validation logic to ensure partial updates include all primary key columns
  • Added comprehensive integration tests covering multiple partial update scenarios

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
FlussSinkBuilder.java Adds partial update column configuration API and validation logic to compute target column indexes
FlussSinkBuilderTest.java Adds unit tests for the new computeTargetColumnIndexes method covering valid and invalid scenarios
FlussSinkITCase.java Adds three integration tests demonstrating partial updates with different writer configurations and data types

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants