Github user sunjincheng121 commented on a diff in the pull request:
https://github.com/apache/flink/pull/5241#discussion_r160439631
--- Diff:
flink-libraries/flink-table/src/test/scala/org/apache/flink/table/runtime/batch/sql/SetOperatorsITCase.scala
---
@@ -278,7 +278,14 @@ class SetOperatorsITCase(
TestBaseUtils.compareResultAsText(results.asJava, expected)
}
+ /**
+ * This test will checks IN for NULLs based on whether COUNT (*) and
COUNT (a) are equal. Due to
+ *
[[org.apache.flink.table.plan.rules.dataSet.DataSetAggregateWithNullValuesRule]]
will
+ * union a NULL row in to input DataSet for non-groupBy agg. That
caused COUNT (*) and COUNT(a)
+ * are not equal. So this test case ignored before FLINK-8355 be fixed.
--- End diff --
The test was passing before because both `COUNT(*)` and `COUNT(a)` ignore
the `NULL` before this PR. That's a bug.... please seee SQL 92
https://docs.microsoft.com/en-us/sql/t-sql/functions/count-transact-sql
```
COUNT(*) returns the number of rows in a specified table without getting
rid of duplicates. It counts each row separately. This includes rows that
contain null values.
```
---