Fix(parser): don't consume identifier in unnamed constraint parser #2377
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.
Fixes #2376
TL;DR the issue is that MySQL overrides the
SCHEMA_UNNAMED_CONSTRAINTS
and addsKEY
to it, so the`key`
identifier's text unfortunately matches that and we eagerly consume it as an unnamed constraint even though we shouldn't.Not sure if this is the correct approach.. I also thought about not matching identifiers in
_match_texts
but that's a change with a bigger impact and I wanted to discuss about it first.cc @tobymao what do you think?