diff options
-rw-r--r-- | sql/ha_innodb.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index d24587e23ea..8455bbaf4d0 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -332,6 +332,13 @@ convert_error_code_to_mysql( return(HA_ERR_NO_SAVEPOINT); } else if (error == (int) DB_LOCK_TABLE_FULL) { + /* Since we rolled back the whole transaction, we must + tell it also to MySQL so that MySQL knows to empty the + cached binlog for this transaction */ + + if (thd) { + ha_rollback(thd); + } return(HA_ERR_LOCK_TABLE_FULL); } else { |