diff options
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index f758fef4fc9..e554ac1d560 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -732,7 +732,9 @@ JOIN::exec() result->send_fields(fields_list,1); if (!having || having->val_int()) { - if (do_send_rows && result->send_data(fields_list)) + if (do_send_rows && (procedure ? (procedure->send_row(fields_list) || + procedure->end_of_records()) + : result->send_data(fields_list))) error= 1; else { @@ -743,7 +745,6 @@ JOIN::exec() else error=(int) result->send_eof(); } - delete procedure; DBUG_VOID_RETURN; } |