Bug #8517 perror prints one really wrong line (bug not present in 4.0)
Submitted: 15 Feb 2005 14:09 Modified: 23 Feb 2005 18:22
Reporter: Guilhem Bichot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S2 (Serious)
Version:4.1 OS:Linux (linux)
Assigned to: Jim Winstead CPU Architecture:Any

[15 Feb 2005 14:09] Guilhem Bichot
Description:
4.1:
[guilhem 15:04 /m/mysql-4.1-clean/extra] ./perror 144
Error code 144:  Unknown error 144
MySQL error:  144 = Table is crashed and last repair failed

4.0:
[guilhem 15:04 /m/mysql-4.1-clean/extra] /m/mysql-4.0/extra/perror 144
MySQL error:  144 = Table is crashed and last repair failed

4.1 should print like 4.0 does.

How to repeat:
see above. Bug has been reproduced by another developer too.
[15 Feb 2005 14:34] Guilhem Bichot
Precision: it's not a bug but a bad wording (which should be fixed). When it prints:
Error code 144:  Unknown error 144
MySQL error:  144 = Table is crashed and last repair failed
It wants to mean that the SYSTEM (Unix etc) has no error code with number 144; then it prints the MySQL error code 144 (Table is crashed etc).
So, first this should be rewritten for example like this:
Operating system's error code 144 is: Unknown error 144
MySQL's error code 144 is: Table is crashed and last repair failed
Then we would prefer to not talk about unknown errors, so the strcmp("Unknown error") in perror.c could be fixed (presently it fails because the string to compare has a numeric extension.
[15 Feb 2005 14:50] Guilhem Bichot
Final consensus (supercedes previous posts here): the only change to do is make the output look like this:

O.S. error code 144: Unknown error 144
MySQL error code 144: Table is crashed and last repair failed
[23 Feb 2005 0:52] Jim Winstead
Fix pushed, will be in 4.1.11.
[23 Feb 2005 18:22] Paul DuBois
Noted in 4.1.11 changelog.