Rod's patch does what it is supposed to do, but it also includes
authorBruce Momjian
Sat, 13 Apr 2002 19:57:18 +0000 (19:57 +0000)
committerBruce Momjian
Sat, 13 Apr 2002 19:57:18 +0000 (19:57 +0000)
some old code to add PK constraints to CREATE TABLE. That stuff
had been removed as part of my original patch for pg_dump a
little while ago.

The attached patch fixes this by removing (again :-) ) the
code in dumpTables() to perform PK creation during CREATE
TABLE. I briefly tested it locally and it fixes both of
Tom's test cases.

Please apply.

Cheers,

Neil

--
Neil Conway 

src/bin/pg_dump/pg_dump.c

index 0e54fd80d789258adce0accf38bd00ac73072485..f1cf4854f5e54d07c609ebf9ed94ec8cf367bcfa 100644 (file)
@@ -22,7 +22,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.247 2002/04/11 20:00:06 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.248 2002/04/13 19:57:18 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -4418,36 +4418,6 @@ dumpTables(Archive *fout, TableInfo *tblinfo, int numTables,
                                      tblinfo[i].check_expr[k]);
                }
 
-               /* Primary Key */
-               if (tblinfo[i].pkIndexOid != NULL)
-               {
-                   PQExpBuffer consDef;
-
-                   /* Find the corresponding index */
-                   for (k = 0; k < numIndexes; k++)
-                   {
-                       if (strcmp(indinfo[k].indexreloid,
-                                  tblinfo[i].pkIndexOid) == 0)
-                           break;
-                   }
-
-                   if (k >= numIndexes)
-                   {
-                       write_msg(NULL, "dumpTables(): failed sanity check, could not find index (%s) for primary key constraint\n",
-                                 tblinfo[i].pkIndexOid);
-                       exit_nicely();
-                   }
-
-                   consDef = getPKconstraint(&tblinfo[i], &indinfo[k]);
-
-                   if ((actual_atts + tblinfo[i].ncheck) > 0)
-                       appendPQExpBuffer(q, ",\n\t");
-
-                   appendPQExpBuffer(q, "%s", consDef->data);
-
-                   destroyPQExpBuffer(consDef);
-               }
-
                /*
                 * Primary Key: In versions of PostgreSQL prior to 7.2, we
                 * needed to include the primary key in the table definition.