Fix parsing of the foreign key constraint actions in different order #10224
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.
On a
FOREIGN KEY
one can defined an actionON UPDATE
andON DELETE
. The parser would only allow one specific order where first theON DELETE
is specified and then theON UPDATE
.This meant that a query which had it in the reverse order would fail to parse. This also allows bypassing the check on DDL statements that add a foreign key constraint too.
Additionally, we move the
schemadiff
logic here to be strict for parsing. It was blowing up with a panic on a schema with such a differently ordered foreign key constraint but it should have error on any parser error.In case
schemadiff
can't parse something, we can't trust it to do any further operations on the schema.Related Issue(s)
schemadiff
work from schemadiff: tracking issue #10203Checklist