1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

A fix and a test case for Bug#10794 "mysql_stmt_attr_set no

open cursor after mysql_stmt_execute" + post-review fixes.
The bug was caused by wrong flags in stmt->server_status on the client
side: if there was no cursor, the server didn't send server_status
flags to the client, and the old flags were used to set up the
fetch function of a statement. Consequently, stmt_read_row_from_cursor was
used when there was no cursor. The fix fixes the server to always
send server flags to the client.
This commit is contained in:
konstantin@mysql.com
2005-06-30 16:17:10 +04:00
parent e4aedcc2c1
commit f60ebc4815
6 changed files with 132 additions and 35 deletions

View File

@@ -137,14 +137,14 @@ enum enum_server_command
#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
#define SERVER_QUERY_NO_INDEX_USED 32
/*
The server was able to fulfill client request and open read-only
non-scrollable cursor for the query. This flag comes in server
status with reply to COM_EXECUTE and COM_EXECUTE_DIRECT commands.
The server was able to fulfill the clients request and opened a
read-only non-scrollable cursor for a query. This flag comes
in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands.
*/
#define SERVER_STATUS_CURSOR_EXISTS 64
/*
This flag is sent with last row of read-only cursor, in reply to
COM_FETCH command.
This flag is sent when a read-only cursor is exhausted, in reply to
COM_STMT_FETCH command.
*/
#define SERVER_STATUS_LAST_ROW_SENT 128
#define SERVER_STATUS_DB_DROPPED 256 /* A database was dropped */