File mysql-5.0.67-bug54477.patch of Package mysql
Index: mysql-test/r/func_in.result
===================================================================
--- mysql-test/r/func_in.result.orig
+++ mysql-test/r/func_in.result
@@ -486,3 +486,25 @@ SELECT id FROM t1 WHERE id IN(4564, (SEL
id
DROP TABLE t1;
End of 5.0 tests
+#
+# Bug#54477: Crash on IN / CASE with NULL arguments
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2);
+SELECT 1 IN (NULL, a) FROM t1;
+1 IN (NULL, a)
+1
+NULL
+SELECT a IN (a, a) FROM t1 GROUP BY a WITH ROLLUP;
+a IN (a, a)
+1
+1
+NULL
+SELECT CASE a WHEN a THEN a END FROM t1 GROUP BY a WITH ROLLUP;
+CASE a WHEN a THEN a END
+1
+2
+NULL
+DROP TABLE t1;
+#
+End of 5.1 tests
Index: mysql-test/t/func_in.test
===================================================================
--- mysql-test/t/func_in.test.orig
+++ mysql-test/t/func_in.test
@@ -381,3 +381,21 @@ SELECT id FROM t1 WHERE id IN(4564, (SEL
DROP TABLE t1;
--echo End of 5.0 tests
+--echo #
+--echo # Bug#54477: Crash on IN / CASE with NULL arguments
+--echo #
+
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1), (2);
+
+SELECT 1 IN (NULL, a) FROM t1;
+
+SELECT a IN (a, a) FROM t1 GROUP BY a WITH ROLLUP;
+
+SELECT CASE a WHEN a THEN a END FROM t1 GROUP BY a WITH ROLLUP;
+
+DROP TABLE t1;
+
+--echo #
+
+--echo End of 5.1 tests