Description
At the very least, block a sharding key update if it moves the row and it has a foreign key ON DELETE constraint. They typically won't be correctly executed, i.e. SET NULL is bad and CASCADE is bad. The right way to handle this is to fetch all corresponding rows and move them as well, but that's a big job.
So for milestone 1.0, let's just return an error; we have the schema with FKs loaded, we can check if the UPDATE should be allowed.
Description
At the very least, block a sharding key update if it moves the row and it has a foreign key
ON DELETEconstraint. They typically won't be correctly executed, i.e.SET NULLis bad andCASCADEis bad. The right way to handle this is to fetch all corresponding rows and move them as well, but that's a big job.So for milestone 1.0, let's just return an error; we have the schema with FKs loaded, we can check if the
UPDATEshould be allowed.