From ca6691533a7e2a454bbb614583a0058bf7acd2d2 Mon Sep 17 00:00:00 2001 From: Sergey Glukhov Date: Fri, 26 Feb 2010 17:40:01 +0400 Subject: Bug#47669 Query showed by EXPLAIN EXTENDED gives different result from original query Item_field::print method does not take into account fields whose values may be null. The fix is to print 'NULL' if field value is null. mysql-test/r/explain.result: test case mysql-test/r/func_str.result: result fix mysql-test/r/having.result: result fix mysql-test/r/select.result: result fix mysql-test/r/subselect.result: result fix mysql-test/r/union.result: result fix mysql-test/t/explain.test: test case sql/item.cc: print 'NULL' if field value is null. --- mysql-test/t/explain.test | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mysql-test/t/explain.test') diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test index 77b49a8b1a5..2af0ffc0cbd 100644 --- a/mysql-test/t/explain.test +++ b/mysql-test/t/explain.test @@ -187,4 +187,16 @@ SET SESSION sql_mode=@old_sql_mode; DROP TABLE t1; +--echo # +--echo # Bug#47669: Query showed by EXPLAIN EXTENDED gives different result from original query +--echo # + +CREATE TABLE t1 (c int); +INSERT INTO t1 VALUES (NULL); +CREATE TABLE t2 (d int); +INSERT INTO t2 VALUES (NULL), (0); +EXPLAIN EXTENDED SELECT (SELECT 1 FROM t2 WHERE d = c) FROM t1; +DROP TABLE t1, t2; + + --echo End of 5.1 tests. -- cgit v1.2.1