-
Martin Hansson authored
A failing transformation is indicated by marking the parse tree as broken. But this mark was not read by the code that executes the SET command in stored procedures. In this case, transformations such as outer-to-inner join conversion are carried out as part of evaluating a subquery when it is the rvalue, as opposed to doing it during normal preparation, i.e. in select_lex::prepare(). Fixed by moving the check from mysql_execute_command() to reinit_stmt_before_use(), where the check can be reused for all code paths that must deal with a possibly broken parse tree, i.e. prepared statements and stored procedured.
Martin Hansson authoredA failing transformation is indicated by marking the parse tree as broken. But this mark was not read by the code that executes the SET command in stored procedures. In this case, transformations such as outer-to-inner join conversion are carried out as part of evaluating a subquery when it is the rvalue, as opposed to doing it during normal preparation, i.e. in select_lex::prepare(). Fixed by moving the check from mysql_execute_command() to reinit_stmt_before_use(), where the check can be reused for all code paths that must deal with a possibly broken parse tree, i.e. prepared statements and stored procedured.
Loading