raminqaf commented on code in PR #28199:
URL: https://github.com/apache/flink/pull/28199#discussion_r3272230045
##########
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/functions/ptf/ToChangelogFunction.java:
##########
@@ -77,6 +82,11 @@ public ToChangelogFunction(final SpecializedContext context)
{
final Map<String, String> opMapping =
callContext.getArgumentValue(2, Map.class).orElse(null);
this.rawOpMap = buildOpMap(opMapping);
+ if (opMapping != null) {
+ // Only user-supplied mappings are validated. The default mapping
covers all kinds by
+ // design and is harmless for insert-only or upsert inputs.
+ validateAgainstInputChangelogMode(this.rawOpMap, tableSemantics);
+ }
Review Comment:
Do we really need this validation? IMO we can just remove it and allow the
PTF to succeeded.
In your tests if the SIMPLE_SOURCE is only producing Inserts and no deletes
the ` 'DELETE', 'D'`. Insert-only or retract source + dead 'DELETE' -> 'D':
kind never arrives, no match, pure no-op.
Would be happy to know if we gain any other advantages on this besides
better UX.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]