Details
Description
When retrieving a result set from a stored procedure which returns out parameters the eof packet of the result set doesn't contain the SERVER_MORE_RESULTS_EXISTS server_status flag for the following status packet.
How to fix: see attachment
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
It would be useful to have an additional api function mysql_stmt_more_results, so we would be able to have a workaround on client side:
my_bool STDCALL mysql_stmt_more_results(MYSQL_STMT *stmt)
{
/* MDEV 4604: Server doesn't set MORE_RESULT flag for
OutParam result set, so we need to check
for SERVER_MORE_RESULTS_EXIST and for
SERVER_PS_OUT_PARAMS)
*/
return (stmt &&
stmt->mysql &&
((stmt->mysql->server_status & SERVER_MORE_RESULTS_EXIST) ||
(stmt->mysql->server_status & SERVER_PS_OUT_PARAMS)));
}