diff options
author | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2010-06-08 10:22:40 +0400 |
---|---|---|
committer | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2010-06-08 10:22:40 +0400 |
commit | 66c621ba3ba8c7c179a8328b06565bdd40296aa5 (patch) | |
tree | 0f806ccd38dfdfe38cad4a9543d0811dd70c9668 /mysql-test/t/func_isnull.test | |
parent | df088b8de24b4cac58fa2b9eed2cafeb9d5abfd6 (diff) | |
download | mariadb-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.test | 15 |
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 |