twalthr commented on a change in pull request #17256:
URL: https://github.com/apache/flink/pull/17256#discussion_r708448017
##########
File path:
flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/calcite/FlinkPlannerImpl.scala
##########
@@ -97,6 +97,7 @@ class FlinkPlannerImpl(
typeFactory,
SqlValidator.Config.DEFAULT
.withIdentifierExpansion(true)
+ .withCallRewrite(false) // Disables the rewrite of COALESCE
Review comment:
the disabling of all rewrite would have been problematic, having
different plans for the COALESCE calls sounds ok to me. fyi: you can simply
delete the affected xml file and rerun the entire test class, this will
regenerate the file.
##########
File path:
flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/inference/TypeStrategies.java
##########
@@ -105,6 +105,23 @@ public static TypeStrategy nullableIfArgs(TypeStrategy
initialStrategy) {
return nullableIfArgs(ConstantArgumentCount.any(), initialStrategy);
}
+ /**
+ * A type strategy that can be used to make a result type nullable if all
the selected input
+ * arguments is nullable. Otherwise the type will be not null.
+ */
+ public static TypeStrategy nullableIfAllArgs(
Review comment:
given that the `COMMON_ARG` input strategy is executed first, can't we
just derive the nullability from the first arg?
--
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]