Description:
When there are multiple errors generated during a backup or restore, the system prints the last error as designed. However, there is no indication that there may be additional errors to inspect. Ideally, the system should give some indication that there are more errors and the user should execute a SHOW ERRORS command to see all of the errors.
How to repeat:
1. Enable InnoDB storage engine.
2. Create a table in a new database with ENGINE=InnoDB.
3. Perform backup.
4. Disable InnoDB storage engine.
5. Attempt restore.
Suggested fix:
It is suggested that backup or restore return an indicator that there are multiple errors. In the example above, the expected behavior would be something like the following:
mysql> restore from 'b.bak' overwrite;
2 Errors 0 Warnings <---- HERE
ERROR 1698 (HY000): Could not restore table `test`.`t1`
mysql> show errors;
+-------+------+-------------------------------------+
| Level | Code | Message |
+-------+------+-------------------------------------+
| Error | 1286 | Unknown storage engine 'falcon' |
| Error | 1698 | Could not restore table `test`.`t1` |
+-------+------+-------------------------------------+
2 rows in set (0.00 sec)
mysql>