diff options
author | unknown <timour@askmonty.org> | 2010-12-14 14:08:05 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2010-12-14 14:08:05 +0200 |
commit | 4f28dcbe327139d9d5cb71afc9f4ce99cecec25a (patch) | |
tree | d2106eff0d2a0088bdd739d90ea04b8fe491d911 /sql/sql_join_cache.h | |
parent | 419d524ff9013534d522eca8fedee3ead2c403d5 (diff) | |
download | mariadb-git-4f28dcbe327139d9d5cb71afc9f4ce99cecec25a.tar.gz |
Fix LP BUG#685411
Analysis:
The assert failed because st_select_lex::print() was called for subqueries
as follows:
Item_subselect::print() ->
subselect_single_select_engine::print() -> st_select_lex::print()
It was Item_subselect::fix_fields() that set the thd by calling set_thd(),
so when this print() was called before fix_fields(), subselect_engine::thd
was NULL.
Solution:
The patch makes all constructors of all subselect_engine classes to take
a THD parameter. The default subselect_single_select_engine engine is created
early during parse time, in the Item_subselect::init call, so we pass the
correct THD object already at this point.
Diffstat (limited to 'sql/sql_join_cache.h')
0 files changed, 0 insertions, 0 deletions