diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-06-15 19:05:11 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-06-15 19:06:21 -0400 |
commit | e1ccaff6eea1b48f4b9b28cabaf0f990119b0d19 (patch) | |
tree | a0a27055b145ea815d4658120bf120d8dbe91414 /src/backend/commands/trigger.c | |
parent | e3df3572f66aa099d337f013dceef7d519ef8398 (diff) | |
download | postgresql-e1ccaff6eea1b48f4b9b28cabaf0f990119b0d19.tar.gz postgresql-e1ccaff6eea1b48f4b9b28cabaf0f990119b0d19.zip |
Rework parsing of ConstraintAttributeSpec to improve NOT VALID handling.
The initial commit of the ALTER TABLE ADD FOREIGN KEY NOT VALID feature
failed to support labeling such constraints as deferrable. The best fix
for this seems to be to fold NOT VALID into ConstraintAttributeSpec.
That's a bit more general than the documented syntax, but it allows
better-targeted syntax error messages.
In addition, do some mostly-but-not-entirely-cosmetic code review for
the whole NOT VALID patch.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index ce36ea8be45..798d8a85a4f 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -1006,6 +1006,8 @@ ConvertTriggerToFK(CreateTrigStmt *stmt, Oid funcoid) } fkcon->deferrable = stmt->deferrable; fkcon->initdeferred = stmt->initdeferred; + fkcon->skip_validation = false; + fkcon->initially_valid = true; /* ... and execute it */ ProcessUtility((Node *) atstmt, |