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/r/func_isnull.result | |
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/r/func_isnull.result')
-rw-r--r-- | mysql-test/r/func_isnull.result | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/r/func_isnull.result b/mysql-test/r/func_isnull.result index 20ddc87ee78..c1f5849c091 100644 --- a/mysql-test/r/func_isnull.result +++ b/mysql-test/r/func_isnull.result @@ -5,3 +5,17 @@ flush tables; select * from t1 where isnull(to_days(mydate)); id mydate drop table t1; +# +# Bug#53933 crash when using uncacheable subquery in the having clause of outer query +# +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; +f2 +0 +SELECT RELEASE_LOCK('Bug#53933'); +RELEASE_LOCK('Bug#53933') +1 +DROP TABLE t1; +End of 5.0 tests |