1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fixed LP bug #825035.

The value of maybe_null flag should be saved for the second execution
of a prepared statement from SELECT that uses an outer join.
This commit is contained in:
Igor Babaev
2011-08-16 22:48:35 -07:00
parent 923dc9ea76
commit 249a10c7dd
8 changed files with 73 additions and 0 deletions

View File

@@ -371,6 +371,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
ulonglong create_options;
uint save_tablenr= 0;
table_map save_map= 0;
uint save_maybe_null= 0;
while ((type= tp++))
{
@@ -429,6 +430,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
{
save_tablenr= result_table_list.tablenr_exec;
save_map= result_table_list.map_exec;
save_maybe_null= result_table_list.maybe_null_exec;
}
bzero((char*) &result_table_list, sizeof(result_table_list));
result_table_list.db= (char*) "";
@@ -438,6 +440,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
{
result_table_list.tablenr_exec= save_tablenr;
result_table_list.map_exec= save_map;
result_table_list.maybe_null_exec= save_maybe_null;
}
thd_arg->lex->current_select= lex_select_save;