WL#793: expand errno in error messages

Affects: Server-4.1   —   Status: Un-Assigned   —   Priority: Medium

"Can't create file 'foobar.frm' (errno: 13)" should be something like "Can't
create file 'foobar.frm' (errno: 13 - permission denied)".

So error message should be ""Can't create file '%-.64s' (errno: %d - %s)"

To be done in 4.1.
Note, there're system error messages and handler error messages, check
extra/perror.c source code.

3.23 and 4.0, when run on new errmsg files could crash, as they don't provide an
argument for  %s. To fix that 3.23 and 4.0 should be fixed to always provide
errstr in addition to errno. But error messages in 3.23/4.0 should NOT be
changed - so this errstr will be visible on new 4.1 errmsg.sys, and for old
errmsg.sys it will be silently.

error message length is limited by MYSQL_ERRMSG_SIZE. Longer error messages gets
truncated, So, this constant should be increased to 1024 in 4.1. Also my_error()
functin uses ERRMSGSIZE - it should be changed to use MYSQL_ERRMSG_SIZE.

Probably MYSQL_ERRMSG_SIZE should be increased in 3.23 too - so that old clients
wouldn't crash with new server. Or - may be better - use long MYSQL_ERRMSG_SIZE
only in new protocol.