diff options
author | unknown <timour@askmonty.org> | 2010-11-22 16:32:36 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2010-11-22 16:32:36 +0200 |
commit | fb215f76bbcbb11177adfb04978b66b3151e7f4d (patch) | |
tree | 138b9175aa0cd3e90147e25ff40d10333eccfdd7 /mysql-test/t/binary.test | |
parent | 0a31c4ffc3ce1577c4a76cbc6d755493a6c152ee (diff) | |
download | mariadb-git-fb215f76bbcbb11177adfb04978b66b3151e7f4d.tar.gz |
Fix LP BUG#680005
Analysis:
This another instance of the problem fixed in LP BUG#675981 -
evaluation of subqueries during EXPLAIN when the subquery plan
is incomplete because JOIN::optimize() generally doesn't create
complete execution plans for EXPLAIN statements.
In this case the call path is:
mysql_explain_union -> outer_join.exec -> outer_join.init_execution ->
create_sort_index -> filesort -> find_all_keys ->
SQL_SELECT::skip_record -> outer_where_clause.val_int -> ...
-> subselect_join.exec -> ... -> sub_select_cache
When calling sub_select_cache JOIN_TAB::cache is NULL because the cache
objects are not created for EXPLAIN statements.
Solution:
Delay the call to init_execution() after all EXPLAIN related processing
is completed. Thus init_execution() is not called at all during EXPLAIN.
Diffstat (limited to 'mysql-test/t/binary.test')
0 files changed, 0 insertions, 0 deletions