summaryrefslogtreecommitdiff
path: root/mysql-test/t/olap.test
diff options
context:
space:
mode:
authorunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-11-21 20:53:44 +0400
committerunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-11-21 20:53:44 +0400
commit0c2dac2a8bfc41e09b127d7f011dcdd4a22a5b88 (patch)
treee8504eef52e4d63af3cfb1187125bdccc93653b8 /mysql-test/t/olap.test
parent3f43b07b4ae78728c9bc6e608eb66ba2c35ce9a8 (diff)
downloadmariadb-git-0c2dac2a8bfc41e09b127d7f011dcdd4a22a5b88.tar.gz
Fix for bug #32558: group by null-returning expression with rollup causes crash
Problem: setting Item_func_rollup_const::null_value property to argument's null_value before (without) the argument evaluation may result in a crash due to wrong null_value. Fix: use is_null() to set Item_func_rollup_const::null_value instead as it evaluates the argument if necessary and returns a proper value. mysql-test/r/olap.result: Fix for bug #32558: group by null-returning expression with rollup causes crash - test result. mysql-test/t/olap.test: Fix for bug #32558: group by null-returning expression with rollup causes crash - test case. sql/item_func.h: Fix for bug #32558: group by null-returning expression with rollup causes crash - use args[0]->is_null() to obtain Item_func_rollup_const::null_value instead of args[0]->null_value as it's not set in advance in case of constant functions.
Diffstat (limited to 'mysql-test/t/olap.test')
-rw-r--r--mysql-test/t/olap.test9
1 files changed, 9 insertions, 0 deletions
diff --git a/mysql-test/t/olap.test b/mysql-test/t/olap.test
index 1ac99d9c39f..d1e40024733 100644
--- a/mysql-test/t/olap.test
+++ b/mysql-test/t/olap.test
@@ -367,3 +367,12 @@ select count(a) from t1 group by null with rollup;
drop table t1;
--echo ##############################################################
+#
+# Bug #32558: group by null-returning expression with rollup causes crash
+#
+CREATE TABLE t1(a INT);
+INSERT INTO t1 VALUES(0);
+SELECT 1 FROM t1 GROUP BY (DATE(NULL)) WITH ROLLUP;
+DROP TABLE t1;
+
+--echo End of 5.0 tests