From 80bc61c849da7faf24b5eb6c58034180f761bc33 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Aug 2003 18:59:06 +0000 Subject: [PATCH] Ensure that FK constraints are dumped after primary/unique constraints, rather than relying on OID order of pg_constraint entries. Per gripe from Greg Stark. --- src/bin/pg_dump/pg_dump.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 9b25ac5e9b..6c0ef4f35e 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.344 2003/08/08 01:21:02 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.345 2003/08/28 18:59:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -588,6 +588,7 @@ main(int argc, char **argv) MoveToEnd(g_fout, "BLOBS"); MoveToEnd(g_fout, "INDEX"); MoveToEnd(g_fout, "CONSTRAINT"); + MoveToEnd(g_fout, "FK CONSTRAINT"); MoveToEnd(g_fout, "TRIGGER"); MoveToEnd(g_fout, "RULE"); MoveToEnd(g_fout, "SEQUENCE SET"); @@ -6039,6 +6040,8 @@ dumpOneSequence(Archive *fout, TableInfo *tbinfo, * * Dump out constraints after all table creation statements in * an alter table format. Currently handles foreign keys only. + * (Unique and primary key constraints are handled with indexes, + * while check constraints are merged into the table definition.) * * XXX Potentially wrap in a 'SET CONSTRAINTS OFF' block so that * the current table data is not processed @@ -6130,7 +6133,7 @@ dumpConstraints(Archive *fout, TableInfo *tblinfo, int numTables) conName, tbinfo->relnamespace->nspname, tbinfo->usename, - "CONSTRAINT", NULL, + "FK CONSTRAINT", NULL, query->data, delqry->data, NULL, NULL, NULL);