diff options
author | Dmitry Shulga <Dmitry.Shulga@Sun.COM> | 2010-09-07 14:18:01 +0700 |
---|---|---|
committer | Dmitry Shulga <Dmitry.Shulga@Sun.COM> | 2010-09-07 14:18:01 +0700 |
commit | 2b2b5e2ae32f7ee73eca0ec8f47539669a333b68 (patch) | |
tree | dc3f19abb33beae12725faec85458b8ee8cfe28b /include/mysql.h | |
parent | 663a3a588b417adfef42196ab16ae4ef4c92f855 (diff) | |
download | mariadb-git-2b2b5e2ae32f7ee73eca0ec8f47539669a333b68.tar.gz |
Fixed bug #47485 - mysql_store_result returns a not NULL result set
for a prepared statement.
include/mysql.h:
enumerator MYSQL_STATUS_STATEMENT_GET_RESULT was added
into mysql_status enum.
include/mysql.h.pp:
enumerator MYSQL_STATUS_STATEMENT_GET_RESULT was added
into mysql_status enum.
libmysql/libmysql.c:
Introduce a separate mysql state to distinguish the situation
when we have a binary result set pending on the server from the
situation when the result set is in text protocol.
execute() modified: if mysql->status == MYSQL_STATUS_GET_RESULT
before return then set it to value MYSQL_STATUS_STATEMENT_GET_RESULT.
stmt_read_row_unbuffered() and mysql_stmt_store_result()
were modified: added checking for mysql->status against
MYSQL_STATUS_STATEMENT_GET_RESULT value instead of MYSQL_STATUS_GET_RESULT.
tests/mysql_client_test.c:
added test_bug47485()
Diffstat (limited to 'include/mysql.h')
-rw-r--r-- | include/mysql.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/mysql.h b/include/mysql.h index dcf3e167e6a..699bd1f1b7f 100644 --- a/include/mysql.h +++ b/include/mysql.h @@ -224,7 +224,8 @@ struct st_mysql_options { enum mysql_status { - MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT + MYSQL_STATUS_READY, MYSQL_STATUS_GET_RESULT, MYSQL_STATUS_USE_RESULT, + MYSQL_STATUS_STATEMENT_GET_RESULT }; enum mysql_protocol_type |