unknown
2df1914791
Fix bug lp:827416
...
Analysis:
Constant table optimization of the outer query finds that
the right side of the equality is a constant that can
be used for an eq_ref access to fetch one row from t1,
and substitute t1 with a constant. Thus constant optimization
triggers evaluation of the subquery during the optimize
phase of the outer query.
The innermost subquery requires a plan with a temporary
table because with InnoDB tables the exact count of rows
is not known, and the empty tables cannot be optimzied
way. JOIN::exec for the innermost subquery substitutes
the subquery tables with a temporary table.
When EXPLAIN gets to print the tables in the innermost
subquery, EXPLAIN needs to print the name of each table
through the corresponding TABLE_LIST object. However,
the temporary table created during execution doesn't
have a corresponding TABLE_LIST, so we get a null
pointer exception.
Solution:
The solution is to forbid using expensive constant
expressions for eq_ref access for contant table
optimization. Notice that eq_ref with a subquery
providing the value is still possible during regular
execution.
2011-08-27 00:40:29 +03:00
..
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-08-02 19:39:45 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-10-07 20:56:11 +04:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-08-02 19:39:45 +03:00
2009-10-26 13:35:42 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2010-08-02 19:39:45 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2011-06-12 11:28:22 +02:00
2009-11-24 11:19:08 +01:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-12-27 19:48:27 +03:00
2009-04-02 12:03:14 +02:00
2011-05-28 05:11:32 +03:00
2011-02-23 11:22:56 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2011-01-04 00:55:41 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-31 13:07:44 +02:00
2009-04-02 12:03:14 +02:00
2009-08-31 13:07:44 +02:00
2009-04-02 12:03:14 +02:00
2009-08-31 13:07:44 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-04-07 01:47:08 +03:00
2009-04-02 12:03:14 +02:00
2009-10-28 16:56:07 +02:00
2009-04-02 12:03:14 +02:00
2011-06-12 11:28:22 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-03-09 16:03:54 +01:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-12-22 11:33:20 +01:00
2009-12-22 11:33:20 +01:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-12-22 11:33:20 +01:00
2009-04-02 12:03:14 +02:00
2011-03-31 14:29:23 +02:00
2010-07-01 23:50:18 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-12-22 11:33:20 +01:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-11-24 11:19:08 +01:00
2011-05-05 23:28:42 +03:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2010-08-02 19:39:45 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2009-04-02 12:03:14 +02:00
2010-05-15 09:14:47 +02:00
2010-12-05 14:25:01 +02:00
2009-04-02 12:03:14 +02:00
2010-08-06 15:39:37 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-04-07 18:26:30 +03:00
2011-08-27 00:40:29 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-08-17 17:57:58 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2011-05-28 05:11:32 +03:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2010-06-10 11:11:52 +02:00
2011-04-12 13:49:16 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 12:03:14 +02:00
2009-04-02 22:36:52 +02:00