summaryrefslogtreecommitdiff
path: root/mysql-test/t/func_isnull.test
diff options
context:
space:
mode:
authorSergey Glukhov <Sergey.Glukhov@sun.com>2010-06-08 10:22:40 +0400
committerSergey Glukhov <Sergey.Glukhov@sun.com>2010-06-08 10:22:40 +0400
commit66c621ba3ba8c7c179a8328b06565bdd40296aa5 (patch)
tree0f806ccd38dfdfe38cad4a9543d0811dd70c9668 /mysql-test/t/func_isnull.test
parentdf088b8de24b4cac58fa2b9eed2cafeb9d5abfd6 (diff)
downloadmariadb-git-66c621ba3ba8c7c179a8328b06565bdd40296aa5.tar.gz
Bug#53933 crash when using uncacheable subquery in the having clause of outer query
The problem is in the Item_func_isnull::update_used_tables() function, bracket is at the wrong place. Because of that isnull item erroneously is treated as const item. The fix is to set brackets in the right place. mysql-test/r/func_isnull.result: test case mysql-test/t/func_isnull.test: test case sql/item_cmpfunc.h: set brackets in the right place.
Diffstat (limited to 'mysql-test/t/func_isnull.test')
-rw-r--r--mysql-test/t/func_isnull.test15
1 files changed, 15 insertions, 0 deletions
diff --git a/mysql-test/t/func_isnull.test b/mysql-test/t/func_isnull.test
index 6218efb882f..d3ad4614998 100644
--- a/mysql-test/t/func_isnull.test
+++ b/mysql-test/t/func_isnull.test
@@ -13,3 +13,18 @@ select * from t1 where isnull(to_days(mydate));
drop table t1;
# End of 4.1 tests
+
+--echo #
+--echo # Bug#53933 crash when using uncacheable subquery in the having clause of outer query
+--echo #
+
+CREATE TABLE t1 (f1 INT);
+INSERT INTO t1 VALUES (0),(0);
+
+SELECT ISNULL((SELECT GET_LOCK('Bug#53933', 0) FROM t1 GROUP BY f1)) AS f2
+FROM t1 GROUP BY f1 HAVING f2 = f2;
+SELECT RELEASE_LOCK('Bug#53933');
+
+DROP TABLE t1;
+
+--echo End of 5.0 tests