diff options
| author | Simon Riggs | 2011-03-22 23:10:35 +0000 |
|---|---|---|
| committer | Simon Riggs | 2011-03-22 23:10:35 +0000 |
| commit | ec497a5ad6a0849efa3fb2fd05988bd8e0c0865d (patch) | |
| tree | 87e73d54c49de4390b8df16f6ca40b34e46d1204 /src/backend/parser | |
| parent | 5d1d679dbf780694673529bd864ca1e258ae50d5 (diff) | |
Make FKs valid at creation when added as column constraints.
Bug report from Alvaro Herrera
Diffstat (limited to 'src/backend/parser')
| -rw-r--r-- | src/backend/parser/gram.y | 3 | ||||
| -rw-r--r-- | src/backend/parser/parse_utilcmd.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 7c94aadf3b9..27fdccae5b8 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -2621,6 +2621,7 @@ ColConstraintElem: n->fk_upd_action = (char) ($5 >> 8); n->fk_del_action = (char) ($5 & 0xFF); n->skip_validation = FALSE; + n->initially_valid = true; $$ = (Node *)n; } ; @@ -2820,6 +2821,7 @@ ConstraintElem: n->deferrable = ($11 & 1) != 0; n->initdeferred = ($11 & 2) != 0; n->skip_validation = false; + n->initially_valid = true; $$ = (Node *)n; } | FOREIGN KEY '(' columnList ')' REFERENCES qualified_name @@ -2836,6 +2838,7 @@ ConstraintElem: n->fk_upd_action = (char) ($10 >> 8); n->fk_del_action = (char) ($10 & 0xFF); n->skip_validation = true; + n->initially_valid = false; $$ = (Node *)n; } ; diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 3dffcded4ac..eafc3b30539 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -1696,6 +1696,7 @@ transformFKConstraints(CreateStmtContext *cxt, Constraint *constraint = (Constraint *) lfirst(fkclist); constraint->skip_validation = true; + constraint->initially_valid = true; } } |
