Chaithra Gopalareddy
6a0d03fce7
Bug#13012483:EXPLAIN EXTENDED, PREPARED STATEMENT, CRASH IN
...
CHECK_SIMPLE_EQUALITY
PROBLEM:
Crash in "check_simple_equality" when using a subquery with "IN" and
"ALL" in prepare.
ANALYSIS:
Crash can be reproduced using a simplified query like this one:
prepare s from "select 1 from g1 where 1 < all (
select @:=(1 in (select 1 from g1)) from g1)";
This bug is currently present only on 5.5.and 5.1. Its fixed as part
of work log(#1110 ) in 5.6. We are taking one change to fix this
in 5.5 and 5.1.
Problem seems to be present because we are trying to evaluate "is_null"
on an argument which is part of a subquery
(In Item_is_not_null_test::update_used_tables()).
But the condition to evaluate is only when we do not have a sub query
present, which means to say that "with_subselect" is not set.
With respect to the above query, we create an object of type
"Item_in_optimizer" which by definition is always associated with a
subquery. While in 5.6 we set "with_subselect" to true for
"Item_in_optimizer" object, we do not do the same in 5.5. This results in
the evaluation for "is_null" resulting in a coredump.
So, we are now setting "with_subselect" to true for "Item_in_optimizer"
in 5.1 and 5.5.
mysql-test/r/func_in.result:
Result file changes for the test case added
mysql-test/t/func_in.test:
Test case added for Bug#13012483
sql/item_cmpfunc.h:
Changed Item_in_optimizer::Item_in_optimizer( ) to set "with_subselect"
to true
2012-02-24 11:53:36 +05:30
..
2011-06-30 17:31:31 +02:00
2011-09-28 15:39:21 +05:30
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-05-16 22:04:01 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-07-03 17:47:37 +02:00
2011-07-03 17:47:37 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00
2011-07-03 17:47:37 +02:00
2011-11-18 14:47:11 +01:00
2012-02-15 17:21:38 +01:00
2011-07-22 11:46:45 +04:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-07-03 17:47:37 +02:00
2011-08-23 15:13:17 +02:00
2011-07-03 17:47:37 +02:00
2011-10-25 16:46:38 +03:00
2011-07-03 17:47:37 +02:00
2011-04-20 11:32:28 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:31:31 +02:00
2012-02-24 11:53:36 +05:30
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:31:31 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-01-25 15:42:40 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00
2012-02-15 17:21:38 +01:00
2012-02-15 17:13:47 +01:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:21:38 +01:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:31:31 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-15 12:42:06 +01:00
2011-06-30 17:37:13 +02:00
2011-11-29 15:52:47 +01:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:31:31 +02:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00
2011-07-06 11:36:39 +02:00
2011-11-30 17:11:13 +01:00
2011-06-30 17:31:31 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:31:31 +02:00
2011-11-30 15:39:29 +01:00
2011-08-26 15:27:29 +05:30
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 20:08:47 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:31:31 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-08-24 11:18:00 +04:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-08-02 11:33:45 +04:00
2012-02-15 17:21:38 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-11-10 12:49:31 +02:00
2011-08-09 11:42:07 +04:00
2011-08-02 11:33:45 +04:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-19 03:18:49 +00:00
2011-06-06 16:53:46 +03:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-08-02 11:33:45 +04:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2012-02-16 11:35:30 +01:00
2011-06-30 17:37:13 +02:00
2012-02-15 17:13:47 +01:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:13:47 +01:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:37:13 +02:00
2011-07-11 11:20:19 +02:00
2011-06-30 17:31:31 +02:00
2012-02-15 17:13:47 +01:00
2011-06-30 17:37:13 +02:00
2011-09-15 18:48:54 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2011-06-30 17:31:31 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-06-30 17:37:13 +02:00
2011-07-03 17:47:37 +02:00
2012-02-15 17:21:38 +01:00