REVIEW: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED
От | Marko Tiikkaja |
---|---|
Тема | REVIEW: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED |
Дата | |
Msg-id | 4D3C6A75.9050204@cs.helsinki.fi обсуждение исходный текст |
Ответ на | Re: ALTER TABLE ... ADD FOREIGN KEY ... NOT ENFORCED (Simon Riggs <simon@2ndQuadrant.com>) |
Ответы |
Re: REVIEW: ALTER TABLE ... ADD FOREIGN KEY ... NOT
ENFORCED
|
Список | pgsql-hackers |
Hi Simon, On 1/14/2011 1:15 PM, Simon Riggs wrote: > Patch to implement the proposed feature attached, for CFJan2011. Overall, I think the patch looks good, but I found some problems with it. In tablecmds.c you have: + if (found && con->contype == CONSTR_FOREIGN && !con->convalidated) which I don't think is correct, and my tests seem to agree; the actual validation doesn't happen at all. Changing that to CONSTRAINT_FOREIGN makes the validation part work, but then I get: ERROR: cache lookup failed for constraint 16419 when trying to drop the table and the regression tests fail because of this. Also having a regression test where the validation fails seems like a good idea. Another problem I found is that psql doesn't indicate in any way that a FOREIGN KEY constraint is not validated yet. I also think that having the function for getting a list of values that violate the constraint would be helpful. Any particular reason why you decided to omit it from this patch? Regards, Marko Tiikkaja
В списке pgsql-hackers по дате отправления: