Skip to content

[FLINK-40557][table] Make operation column optional in TO_CHANGELOG - #29102

Open
ferenc-csaky wants to merge 1 commit into
apache:masterfrom
ferenc-csaky:FLINK-40557
Open

[FLINK-40557][table] Make operation column optional in TO_CHANGELOG#29102
ferenc-csaky wants to merge 1 commit into
apache:masterfrom
ferenc-csaky:FLINK-40557

Conversation

@ferenc-csaky

@ferenc-csaky ferenc-csaky commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

What is the purpose of the change

Makes the operation column in TO_CHANGELOG optional. This supports append-only output that retains the input schema without prepending an operation code.

The change remains compatible with compiled plans created before the new argument was introduced.

Brief change log

  • Adds optional include_op_column argument to TO_CHANGELOG, defaulting to true.
  • Omits the operation column from inferred and runtime output when set to false.
  • Preserves compatibility with existing compiled plans by defaulting a missing argument to true and supporting the previous eval signature.
  • Adds type-inference and semantic test coverage.
  • Documents the new argument in SQL documentation and Table API JavaDocs.

Verifying this change

This change added tests and was verified with:

  • mvn -pl flink-table/flink-table-common -Dtest=ToChangelogOutputTypeStrategyTest test
  • mvn -pl flink-table/flink-table-planner -Dtest=ToChangelogSemanticTests test
  • mvn -pl flink-table/flink-table-planner -Dtest=ToChangelogRestoreTest test
  • mvn spotless:check -pl flink-table/flink-table-common,flink-table/flink-table-runtime,flink-table/flink-table-api-java,flink-table/flink-table-planner

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): yes, adds a user-facing TO_CHANGELOG argument
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? yes
  • If yes, how is the feature documented? docs + JavaDocs
Was generative AI tooling used to co-author this PR?
  • Yes

Generated-by: OpenCode (openai/gpt-6-astra)

@flinkbot

flinkbot commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@ferenc-csaky
ferenc-csaky force-pushed the FLINK-40557 branch 2 times, most recently from 5187dfb to 02b77a5 Compare September 4, 2026 18:06
@github-actions github-actions Bot added the community-reviewed PR has been reviewed by the community. label Sep 7, 2026
… output

Generated-by: OpenCode (openai/gpt-6-astra)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-reviewed PR has been reviewed by the community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants