Fix single quote escapes on default generated MySQL columns #50733
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.
Closes #50732
Motivation / Background
MySQL 5.7.5+ supports generated columns, which can be used to create a column that is computed from an expression. If single quotes are used in the definition of a default generated column, the schema dump will escape the quotes twice.
In a scenario such as the following:
We want the schema dump to look like this:
And not this, which is how it now it is now:
See the related issue for more.
Detail
This pull request changes the schema statement generator under the
elsif
block for a column withDEFAULT_GENERATED
in the metadata. In the changes, we simplygsub
the escapes as we do in other parts of the class.Checklist
Before submitting the PR make sure the following are checked: