diff options
Diffstat (limited to 'libmysql')
-rw-r--r-- | libmysql/libmysql.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c index a896460beeb..f622b2d2fb2 100644 --- a/libmysql/libmysql.c +++ b/libmysql/libmysql.c @@ -1869,6 +1869,16 @@ static void net_clear_error(NET *net) } } +static void stmt_clear_error(MYSQL_STMT *stmt) +{ + if (stmt->last_errno) + { + stmt->last_errno= 0; + stmt->last_error[0]= '\0'; + strmov(stmt->sqlstate, not_error_sqlstate); + } +} + /* Set statement error code, sqlstate, and error message from given errcode and sqlstate. @@ -4959,6 +4969,7 @@ static my_bool reset_stmt_handle(MYSQL_STMT *stmt, uint flags) stmt->state= MYSQL_STMT_INIT_DONE; return 1; } + stmt_clear_error(stmt); } } stmt->state= MYSQL_STMT_PREPARE_DONE; |