Fix handling of table/schema names containing non-ASCII characters in get_schema_inconsistency_check() for MySQL 5.7 #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In db79350, @konrado0 modified
get_schema_inconsistency_check
to "remove[d] false positives related to full Unicode range."It appears that the intention of this change was to ignore table names containing non-ASCII characters, since their names are represented differently in
information_schema.tables
and ininformation_schema.innodb_sys_tables
. In the latter, disallowed characters are replaced with '@' plus 4 hexadecimal digits representing the character's Unicode codepoint.However, the regular expression used for this (
@[0-9]
) was incorrect and incomplete: it will only exclude Unicode codepoints 0x0000-0x9ffff, and won't exclude Unicode codepoints 0xa000-0xffff. This commit fixes the mistake in the regular expression.In the longer term, tables whose names contain non-ASCII characters should not be excluded from schema inconsistency checks.
This contribution is under the OCA signed by Amazon and covering submissions to the MySQL project.