lincoln-lil commented on code in PR #23478:
URL: https://github.com/apache/flink/pull/23478#discussion_r1357746002


##########
flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala:
##########
@@ -488,6 +488,18 @@ object ScalarOperatorGens {
     else if (isNumeric(left.resultType) && isNumeric(right.resultType)) {
       generateComparison(ctx, "!=", left, right, resultType)
     }
+    // support date/time/timestamp not equalTo string.
+    else if (
+      (isTimePoint(left.resultType) && isCharacterString(right.resultType)) ||

Review Comment:
   I'm wondering why `generateNotEquals` doesn't reuse the logic of 
`generateEquals` (which ends up wrapped in a `not` expression)? This is the 
direct cause of the current problem: the logic for data types of 
`generatingNotEquals` and `generatingEquals` is not aligned (In addition to the 
timepoint change here, the multiset and generic types are handled differently). 
   So why don't we switch to full reuse of `generatingEquals`  to eliminate 
these inconsistent behaviors altogether ?  Because at the moment I don't see a 
semantic need to differentiate between equal and nonEqual handling (including 
three-valued logic). 
   cc @LadyForest @libenchao because I saw your discussion in jira.



-- 
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: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to