-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keep the correct case for the charset for canonical string #12105
Keep the correct case for the charset for canonical string #12105
Conversation
The canonical string representation needs to keep the correct case for the charset. Those are never upcased in MySQL so we should not enforce that here either. Signed-off-by: Dirkjan Bussink <[email protected]>
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
If a new flag is being introduced:
If a workflow is added or modified:
Bug fixes
Non-trivial changes
New/Existing features
Backward compatibility
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we enforce lower casing the charset though?
We don't do that anywhere in the parser at the moment at all. We could maybe, but that's a whole different effort that goes beyond just the charset here, but applies to anything that's always lowercase and would need separate logic to be enforced then. |
I don't think we should enforce the lower casing, because mixed case and upper case do work with MySQL - mysql [localhost:5731] {msandbox} (test) > select convert('abc' using utf8mb4);
+------------------------------+
| convert('abc' using utf8mb4) |
+------------------------------+
| abc |
+------------------------------+
1 row in set (0.00 sec)
mysql [localhost:5731] {msandbox} (test) > select convert('abc' using UTF8mb4);
+------------------------------+
| convert('abc' using UTF8mb4) |
+------------------------------+
| abc |
+------------------------------+
1 row in set (0.00 sec)
mysql [localhost:5731] {msandbox} (test) > select convert('abc' using UTF8MB4);
+------------------------------+
| convert('abc' using UTF8MB4) |
+------------------------------+
| abc |
+------------------------------+
1 row in set (0.00 sec) |
The canonical string representation needs to keep the correct case for the charset. Those are never upcased in MySQL so we should not enforce that here either.
Related Issue(s)
Fixes #12104
Checklist