summaryrefslogtreecommitdiff
path: root/sql-common/client.c
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2004-07-22 20:54:25 +0500
committerunknown <hf@deer.(none)>2004-07-22 20:54:25 +0500
commit2cd7e4cdefec2bd529a5de78e0d8c8adb636b036 (patch)
treeecfe787be62082cf510021730f7750916b699945 /sql-common/client.c
parentbe922a58e91ec1df465ec2451787549d6aadbbcf (diff)
downloadmariadb-git-2cd7e4cdefec2bd529a5de78e0d8c8adb636b036.tar.gz
Fixes for bugs in embedded library:
#4700 (Unsigned value returned as signed) just no appropriate checking #4701 (Errors returned earlier than expected) all errors returned from send_command() #4702 (Result isn't freed properly if there's no retrieval) flush_use_result has only 'client' version and should be made 'virtual' include/mysql.h: flush_use_result 'virtual' method added to MYSQL (#4701) include/sql_common.h: no flush_use_result() now (#4702) libmysql/libmysql.c: call of the flush_use_result changed (#4702) libmysqld/lib_sql.cc: now errors returned from emb_advanced_command() or from emb_read_rows() depending on if number of returned fields is not 0 (#4701) emb_flush_use_result() implementation (#4702) sql-common/client.c: cli_flush_use_result() implementation (#4702) sql/sql_prepare.cc: unsigned flag now checked (#4700)
Diffstat (limited to 'sql-common/client.c')
-rw-r--r--sql-common/client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql-common/client.c b/sql-common/client.c
index 738904657cc..3046395f7d2 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -723,7 +723,7 @@ void set_mysql_error(MYSQL *mysql, int errcode, const char *sqlstate)
Flush result set sent from server
*/
-void flush_use_result(MYSQL *mysql)
+static void cli_flush_use_result(MYSQL *mysql)
{
/* Clear the current execution status */
DBUG_PRINT("warning",("Not all packets read, clearing them"));
@@ -842,7 +842,7 @@ mysql_free_result(MYSQL_RES *result)
mysql->unbuffered_fetch_owner= 0;
if (mysql->status == MYSQL_STATUS_USE_RESULT)
{
- flush_use_result(mysql);
+ (*mysql->methods->flush_use_result)(mysql);
mysql->status=MYSQL_STATUS_READY;
}
}
@@ -1493,7 +1493,8 @@ static MYSQL_METHODS client_methods=
cli_advanced_command,
cli_read_rows,
cli_use_result,
- cli_fetch_lengths
+ cli_fetch_lengths,
+ cli_flush_use_result
#ifndef MYSQL_SERVER
,cli_list_fields,
cli_read_prepare_result,