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-5.6-terra)

@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

… output

Generated-by: OpenCode (openai/gpt-5.6-terra)
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