diff options
author | Ramil Kalimullin <ramil@mysql.com> | 2011-12-23 17:26:17 +0400 |
---|---|---|
committer | Ramil Kalimullin <ramil@mysql.com> | 2011-12-23 17:26:17 +0400 |
commit | 4b0eb436bfa63a6e721a9d2103316d49e49ed4bb (patch) | |
tree | 56145b9cdb868fcec277698dcbd0c88dc3067dcf /storage/federated | |
parent | 62676cbbad32bf227050df86b7cd5d7f1cea27bb (diff) | |
parent | 2a21a662a3ce5a7090f8959fffd7981e0248b59e (diff) | |
download | mariadb-git-4b0eb436bfa63a6e721a9d2103316d49e49ed4bb.tar.gz |
Auto-merge from mysq-5.1.
Diffstat (limited to 'storage/federated')
-rw-r--r-- | storage/federated/ha_federated.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc index 06bf180283d..e762a1c3bee 100644 --- a/storage/federated/ha_federated.cc +++ b/storage/federated/ha_federated.cc @@ -1685,6 +1685,15 @@ int ha_federated::close(void) mysql_close(mysql); mysql= NULL; + /* + mysql_close() might return an error if a remote server's gone + for some reason. If that happens while removing a table from + the table cache, the error will be propagated to a client even + if the original query was not issued against the FEDERATED table. + So, don't propagate errors from mysql_close(). + */ + table->in_use->clear_error(); + DBUG_RETURN(free_share(share)); } |