summaryrefslogtreecommitdiff
path: root/sql
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 /sql
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 'sql')
-rw-r--r--sql/item_cmpfunc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 89bc6f9570b..233922fe2f8 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -1209,8 +1209,8 @@ public:
else
{
args[0]->update_used_tables();
- if ((const_item_cache= !(used_tables_cache= args[0]->used_tables())) &&
- !with_subselect)
+ if ((const_item_cache= !(used_tables_cache= args[0]->used_tables()) &&
+ !with_subselect))
{
/* Remember if the value is always NULL or never NULL */
cached_value= (longlong) args[0]->is_null();