Bug #106565 Disable utf8mb3 deprecated warning/error
Submitted: 24 Feb 2022 22:44 Modified: 25 Feb 2022 11:50
Reporter: Jiafu Gao Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Charsets Severity:S4 (Feature request)
Version:8.0.* OS:Any
Assigned to: CPU Architecture:Any
Tags: charset, utf8

[24 Feb 2022 22:44] Jiafu Gao
Description:
The server gives the following warning whenever utf8mb3 is used, either in table creation, or stored procedure: 
 1287 'utf8mb3' is deprecated and will be removed in a future release. Please use utf8mb4 instead 3778 'utf8_unicode_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead. 

The issue is for our production environment:
  sql_mode strict is used
  utf8mb4 can't be used (due to F5 server does not work with it. told by our DBA, for a reason I don't quite understand).

As a result, the warning turns into an error whenever the stored procedure is called, thus prevents the stored procedure to return the real result.

This is preventing us from production release, and we are desperate to look for a solution.

How to repeat:
Define a stored procedure with a utf8mb3 parameter, set sql_mode to strict. And call it with C API.

The stored procedure will return an error, instead of the desired result.

Suggested fix:
Have a way to disable warnings (maybe by warning number), even when sql_mode=strict is set. Maybe in the server settings.
[25 Feb 2022 11:50] MySQL Verification Team
Hello Jiafu Gao,

Thank you for the feature request.

regards,
Umesh
[25 Feb 2022 14:10] Tor Didriksen
Posted by developer:
 
Can we get a concrete repro case?