Bug #74171 5.6 error messages got more positional parameters in 5.7
Submitted: 1 Oct 2014 8:01 Modified: 5 Nov 2014 15:56
Reporter: Guilhem Bichot Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S3 (Non-critical)
Version:5.7.5 OS:Any
Assigned to: CPU Architecture:Any

[1 Oct 2014 8:01] Guilhem Bichot
Description:
In wl#2489 a couple of messages were extended with new %s parameters:
ER_WRONG_FIELD_WITH_GROUP ER_MIX_OF_GROUP_FUNC_AND_FIELDS 

http://dev.mysql.com/doc/internals/en/error-message-adding.html says:
- Always use parameter constructs such as "%.64s" to guard against buffer overflows. The maximum error message length is MYSQL_ERRMSG_SIZE.
- Never add new parameters (such as %s) to existing error messages. Error messages must always be backward compatible. If a parameter were added, older servers would crash when run with a newer error message file. 

So this change deserves some thinking; either it has to be fixed, or the rule has to be clarified (does it apply to changes between major versions?).

How to repeat:
read code
[22 Oct 2014 21:51] Todd Farmer
Fixed by reverting legacy error messages to pre-existing format and introducing new error messages.
[5 Nov 2014 15:56] Paul DuBois
Fixed in 5.7.6. Code cleanup. No changelog entry needed.